posts - 23,comments - 66,trackbacks - 0

          使用Maven管理Eclipse Java項(xiàng)目

          本文可以任意轉(zhuǎn)載,但請保留原出處:
          http://www.webwork.cn/archives/50009640.html

          為什么要使用Maven,使用Maven有什么好處
          maven是一個(gè)可以幫助你進(jìn)行項(xiàng)目編譯、文檔管理、報(bào)告管理、包依賴管理、SCMs管理、發(fā)布等的工具,它可以協(xié)助你完成以下工作:
          1.快速創(chuàng)建一個(gè)工程文件
          2.幾乎不用做任何設(shè)置,可以立即進(jìn)行編譯、測試、打包等工作。以前用Ant的時(shí)候,也可以很方便的做這些工作,但是寫Ant的build.xml文件是一件很煩瑣的事情。
          3.創(chuàng)建項(xiàng)目文檔非常容易,可以自動(dòng)生成一個(gè)web site,記錄你的項(xiàng)目情況、版本信息、兩個(gè)版本之間的change list等。
          4.非常方便的遠(yuǎn)程發(fā)布、scm(cvs)管理功能。
          5.依賴管理功能。這個(gè)功能是我非常喜歡的功能。我們在做多個(gè)不同的Java項(xiàng)目時(shí),每個(gè)項(xiàng)目所用到的庫文件基本都是大同小異的,通常的做法是每個(gè)項(xiàng)目下面都會(huì)復(fù)制一份這些庫文件,甚至?xí)堰@些庫文件都提交到cvs上去,這樣帶來的問題不僅是增大了項(xiàng)目占用的硬盤空間,而且也使包管理很混亂,當(dāng)我需要在另外的機(jī)器上進(jìn)行工作時(shí),我通常需要重新建立我的工程文件。maven所采用的形式,類似于yum、apt、ports等Linux/Unix的包依賴管理模式,你只需要在配置文件中指明你依賴什么樣的包,在用maven編譯的時(shí)候,它首先會(huì)檢查你的本地倉庫中是否存在該庫文件,如果沒有,它就會(huì)自動(dòng)去下載,默認(rèn)從http://www.ibiblio.org/maven/上下載,對于公司內(nèi)部,可以創(chuàng)建一個(gè)自己的庫服務(wù)器,

          Maven使用入門,請參考下面的文檔
          Getting Started with maven:
          http://maven.apache.org/guides/getting-started/index.html

          使用Maven管理Eclipse項(xiàng)目
          假設(shè)一個(gè)mydemo的web項(xiàng)目,在這里我將該項(xiàng)目分為兩個(gè)模塊,分別為mydemo-core和mydemo-web,其中mydemo-core項(xiàng)目為核心java程序文件,輸出為jar文件;mydemo-web為web部分,自身基本沒有java程序文件,除了一部分與web集成較為緊密的,它主要使用mydemo-core生成的java lib。我們用maven創(chuàng)建一個(gè)project,來管理該項(xiàng)目,而mydemo-core和mydemo-web同時(shí)又是eclipse project,可以直接在eclipse中打開,并進(jìn)行程序開發(fā)。

          1.創(chuàng)建mydemo項(xiàng)目
          cd d:\mywork
          mvn archetype:create -DgroupId=com.example.mydemo -DartifactId=mydemo

          生成mydemo目錄,刪除該目錄下src目錄,修改pom.xml,將packaging值修改為:
          <packaging>pom</packaging>

          2. 然后分別創(chuàng)建mydemo-core、mydemo-web兩個(gè)模塊
          cd mydemo
          mvn archetype:create -DgroupId=www.example.mydemo.core -DartifactId=mydemo-core
          mvn archetype:create -DgroupId=www.example.mydemo.web -DartifactId=mydemo-web -DarchetypeArtifactId=maven-archetype-webapp

          3. 修改d:\myworkpom.xml文件,添加
          <modules>
          ?<module>mydemo-core</module>
          ?<module>mydemo-web</module>
          </modules>

          4. 分別在mydemo-core和mydemo-web目錄下的pom.xml文件中添加:

          <parent>
          ?<groupId>cn.webwork.mydemo</groupId>
          ?<artifactId>mydemo</artifactId>
          ?<version>1.0-SNAPSHOT</version>
          </parent>

          5. 然后在d:\mywork\mydemo-webpom.xml中添加依賴 mydemo-core包的信息,如下:

          <dependency>
          ? <groupId>cn.webwork.mydemo.core</groupId>
          ? <artifactId>mydemo-core</artifactId>
          ? <version>1.0-SNAPSHOT</version>
          </dependency>

          關(guān)于pom.xml配置文件的詳細(xì)情況,請參考:
          Project Setting:http://maven.apache.org/maven-model/maven.html
          Introduction to POM:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html

          6. 創(chuàng)建完成后,就會(huì)分別生成兩個(gè)目錄,然后分別對其生成相應(yīng)的eclipse工程文件,方法為:
          cd mydemo-core
          mvn eclipse:eclipse

          cd ..
          cd mydemo-web
          mvn eclipse:eclipse -DdownloadSource=true -Dwtpversion=1.0 (指定wtpversion屬性,用于生成wtp的工程文件)

          創(chuàng)建完成這兩個(gè)eclipse工程文件后,就可以在eclipse中打開了。

          7. 回到 d:mywork目錄下,執(zhí)行mvn compile 就可以對這兩個(gè)文件進(jìn)行編譯,還有mvn install ,mvn package等命令。

          mydemo文件下載:
          http://project.livedoor.cn/~roger/mydemo.zip

          關(guān)于mvn命令:
          在上面的過程中,大家看到諸如 mvn archetype:create / mvn eclipse:eclipse等這些命令,如何查詢這些命令更多幫助信息?
          請參考:http://maven.apache.org/plugins/index.html
          其實(shí)象archetype:create eclipse:eclipse等都是maven的插件,默認(rèn)安裝的時(shí)候,這些插件都已經(jīng)安裝,還有很多第三方的插件,
          具體使用方式,都可以從上面的地址中查到。

          如,site插件, Generate a site for the current project
          當(dāng)你執(zhí)行mvn site的時(shí)候,就會(huì)自動(dòng)生成一個(gè)web site,用于展示你的項(xiàng)目信息。


          以上整理的比較混亂,估計(jì)對大家?guī)椭皇呛艽螅M軌蛲ㄟ^這篇文章,能讓大家知道m(xù)aven是個(gè)非常好的工具,如果你想深入了解它,并在自己的項(xiàng)目中很好的使用,請參考下面的參考我文獻(xiàn)。
          參考:
          Maven: http://maven.apache.org
          Maven Eclipse Plugin: http://m2eclipse.codehaus.org/
          http://maven.apache.org/guides/mini/guide-ide-eclipse.html

          posted on 2006-07-16 15:42 rd2pm 閱讀(20128) 評論(3)  編輯  收藏

          FeedBack:
          # re: 使用Maven管理Eclipse Java項(xiàng)目
          2007-08-28 18:14 | qiufengyqb
          我有疑問:
          mydemo-core中g(shù)roupId是cn.webwork還是www.example.mydemo  回復(fù)  更多評論
            
          # re: 使用Maven管理Eclipse Java項(xiàng)目
          2007-12-14 21:21 | just_computer
          多謝!我剛接觸maven,看了這篇文章收獲很大!
          再次感謝!  回復(fù)  更多評論
            
          # re: 使用Maven管理Eclipse Java項(xiàng)目
          2012-03-27 14:14 | 啊打發(fā)
          挺好的  回復(fù)  更多評論
            

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


          網(wǎng)站導(dǎo)航:
           

          主站蜘蛛池模板: 凤城市| 抚顺县| 滨海县| 老河口市| 临泽县| 呼玛县| 封开县| 三明市| 凤冈县| 阿克苏市| 雅江县| 宜良县| 苍梧县| 于田县| 河池市| 册亨县| 栾城县| 东港市| 元氏县| 内黄县| 周至县| 景德镇市| 临海市| 新巴尔虎右旗| 阳江市| 乐业县| 莱州市| 北宁市| 保靖县| 无锡市| 绵阳市| 靖安县| 大姚县| 荣成市| 柏乡县| 如东县| 赤峰市| 泰安市| 甘泉县| 周至县| 长宁区|