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>

          沒有配置之前,要運行grails: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文件中配置如下內容:

          <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)站導航:
           
          <2011年5月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          收藏夾

          linux

          產(chǎn)品交互

          分析,設計,架構

          安全

          技術牛人

          數(shù)據(jù)庫

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 长乐市| 江源县| 临江市| 凤凰县| 峡江县| 科技| 宜昌市| 长宁区| 松滋市| 林甸县| 开封市| 尼玛县| 静宁县| 泰州市| 鄂尔多斯市| 镇江市| 宣化县| 阿巴嘎旗| 章丘市| 阳信县| 台东县| 旬阳县| 大新县| 虹口区| 农安县| 荔浦县| 河曲县| 陇西县| 海安县| 华池县| 光泽县| 罗甸县| 报价| 项城市| 德令哈市| 齐齐哈尔市| 丰顺县| 昂仁县| 玛纳斯县| 浦江县| 蚌埠市|