grails學習(一)Grails工程與maven集成

           

          Grails工程與maven集成

          Grails其實也有自己的一些項目管理命令,如:grails package,grails test-app,grails war等。但是公司現(xiàn)在基本上都是用maven來管理項目,所以從管理上進行統(tǒng)一的目的,我們也讓grails工程由maven來管理。

          Grails與maven集成是靠maven插件機制。

          接下來描述下集成的步驟:

          1、在$home/.m2/settings.xml中配置plugin group

          <settings>

           

           <pluginGroups>

              <pluginGroup>org.grails</pluginGroup>

           </pluginGroups>

          </settings>

          沒有配置之前,要運行g(shù)rails:help命令要這樣寫:mvn org.grails:help,有了配置之后我們就可以這么寫:mvn grails:help。

          2、我們創(chuàng)建一個maven管理的grails工程

          Mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate
              -DarchetypeGroupId=org.grails 
              -DarchetypeArtifactId=grails-maven-archetype 
              -DarchetypeVersion=1.2.0 
          -DgroupId=example -DartifactId=my-app
          grails-maven-archetype這里用的是1.2.0版本,好像maven3集成的版本比這個要新。
           
          3、進入my-app當前目錄,運行mvn initialize
          在運行過程中可能會出現(xiàn)如下問題:
          Resolving plugin JAR dependencies 
          :: problems summary ::
          :::: WARNINGS
                         module not found: org.hibernate#hibernate-core;3.3.1.GA
          那么你在application.properties文件中添加plugins.hibernate=1.3.2
          plugins.tomcat=1.3.2兩個插件。最后運行mvn compile重新編譯工程。
           
          4、我們是用springsource tool suite開發(fā),導入工程。項目中需要對excel操作,我們采用jxl.jar開源包。在pom文件中配置如下內(nèi)容:

          <dependency>

                <groupId>jxl</groupId>

                <artifactId>jxl</artifactId>

                <version>2.4.2</version>

          </dependency>
          重新編譯下工程,但是引用jxl包中類的文件還是報錯,說找不到類。這怎么回事呢?我也很納悶,一般maven工程都是這樣就可以。
           
          后來在官方文檔上看到一句話:pom=true。只要把這句話加到conf/BuildConfig.groovy文件中的grails.project.dependency.resolution方法中。如圖:
           
          重新編譯,但是還是報錯。Ide還是無法引用jxl包中的類。后來發(fā)現(xiàn)在grails tools中找到了一個命令。
           
          執(zhí)行過后,已經(jīng)加入到了grails dependencies中。
           
          為什么會這樣呢,是因為有兩套機制造成的。
          第一套機制:maven自身管理項目的機制。
          第二套機制:grails也有自己的一套管理機制。
           
          在絕大多數(shù)情況下maven通過grails的集成插件可以對工程進行打包,部署,運行測試等管理。
          Grails可以通過自己的grails war等命令進行打包,部署,運行測試等管理。
          Grails也可以通過配置pom=true讓grails那套管理機制用pom中的配置,不使用自己的管理機制。此時你就不用在conf/BuildConfig.groovy中管理依賴和資源庫等配置。
           

          posted on 2011-05-10 10:34 yangpingyu 閱讀(3498) 評論(0)  編輯  收藏 所屬分類: grails


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          <2011年5月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          收藏夾

          linux

          產(chǎn)品交互

          分析,設計,架構(gòu)

          安全

          技術(shù)牛人

          數(shù)據(jù)庫

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 游戏| 华蓥市| 潜山县| 亚东县| 托克逊县| 黄浦区| 文水县| 济宁市| 桃园市| 花莲县| 罗源县| 金寨县| 高雄县| 若羌县| 彩票| 伊宁市| 普洱| 田东县| 霞浦县| 宜黄县| 城市| 青川县| 西昌市| 安化县| 柳河县| 土默特右旗| 宁明县| 禄劝| 宣汉县| 鄂尔多斯市| 阿合奇县| 浏阳市| 马尔康县| 东丰县| 安丘市| 中方县| 当雄县| 都江堰市| 额尔古纳市| 延津县| 鄱阳县|