grails學(xué)習(xí)(一)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當(dāng)前目錄,運行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ā),導(dǎo)入工程。項目中需要對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 閱讀(3490) 評論(0)  編輯  收藏 所屬分類: grails


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


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

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          收藏夾

          linux

          產(chǎn)品交互

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

          安全

          技術(shù)牛人

          數(shù)據(jù)庫

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 岑溪市| 海口市| 卫辉市| 长葛市| 黄骅市| 鄂托克前旗| 同德县| 隆安县| 维西| 永昌县| 南木林县| 枣强县| 台湾省| 离岛区| 五原县| 涞水县| 多伦县| 石柱| 玉屏| 宣威市| 屯昌县| 黎平县| 三明市| 莱州市| 涞源县| 库尔勒市| 鹤岗市| 古浪县| 贵溪市| 武乡县| 上林县| 万荣县| 武鸣县| 房山区| 中江县| 镇原县| 皮山县| 临颍县| 仁怀市| 宁波市| 宁津县|