使用Maven管理Eclipse Java項目

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

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

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

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

1.創建mydemo項目
cd d:\mywork
mvn archetype:create -DgroupId=com.example.mydemo -DartifactId=mydemo

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

2. 然後分別創建mydemo-core、mydemo-web兩個模塊
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>

關於pom.xml配置文件的詳細情況,請參考:
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. 創建完成後,就會分別生成兩個目錄,然後分別對其生成相應的eclipse工程文件,方法爲:
cd mydemo-core
mvn eclipse:eclipse

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

創建完成這兩個eclipse工程文件後,就可以在eclipse中打開了。

7. 回到 d:mywork目錄下,執行mvn compile 就可以對這兩個文件進行編譯,還有mvn install ,mvn package等命令。

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

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

如,site插件, Generate a site for the current project
當你執行mvn site的時候,就會自動生成一個web site,用於展示你的項目信息。


以上整理的比較混亂,估計對大家幫助不是很大,但希望能夠通過這篇文章,能讓大家知道maven是個非常好的工具,如果你想深入瞭解它,並在自己的項目中很好的使用,請參考下面的參考我文獻。
參考:
Maven: http://maven.apache.org
Maven Eclipse Plugin: http://m2eclipse.codehaus.org/
http://maven.apache.org/guides/mini/guide-ide-eclipse.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章