1、下載mavan安裝文件(apache-maven-2.2.1)(http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-2.2.1-bin.zip),解壓縮至D盤根目錄下;
2、新建環境變量:MVN_HOME值爲:D:\apache-maven-2.2.1 ;
在path環境變量值中新增 :%MVN_HOME%\bin;
3、拷貝文件(D:\martini\deploy\bin\.m2\settings.xml)至:用戶目錄下的.子m2目錄下(例如:C:\Documents and Settings\zhanglj05947\.m2)
4、在命令行下運行:mvn -version,若顯示以下內容則表示maven環境配置成功:
Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
Java version: 1.5.0_14
Java home: D:jdk1.5.0_14jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows" 5、進入目錄D:\martini運行maven-run.bat文件,選擇第1項(進行項目build),待1項運行完畢後,再運行第0項(將項目build至eclipse內);
6、設置Eclipse的編譯路徑:
ECLIPSE--window--prefrence下,java--build Path--classpath Variable下新建環境變量:
M2_REPO值爲:/m2-repo;
7、若build失敗,報錯誤“包找不到”。原因是因爲線上環境與測試環境不一致所致,需在找不到的包的版本後加後綴“-SNAPSHOT”;(根據實際情況解決) 則到D:\hs_iAres\martini\all.pom文件中的在版本(如:1.9.48)後加一個後綴“-SNAPSHOT”,如:
<dependency>
<groupId>com.hs_iAres.shared</groupId>
<artifactId>hs_iAres.crm.esb.services</artifactId>
<version>1.9.48-SNAPSHOT</version>
</dependency> http://rdc.hundsun.com/forum.php?mod=viewthread&tid=58&page=1
測試maven是否成功
mvn -v
構建myeclipse項目
建一個web項目
mvn archetype:create -DgroupId=com.myframe -DartifactId=myframe -DarchetypeArtifactId=maven-archetype-webapp
-DgroupId 生成pom的<groupid>com.myframe</groupid>節點,本工程生成的jar包給其它工程依賴時用。
-DartifactId 生成的文件夾名,也就是Eclipse中web工程的名字
生成Eclipse項目
mvn eclipse:myeclipse
通過myeclipse導入生成的myeclipse項目
maven常用命令
mvn archetype:create :創建 Maven 項目
mvn compile :編譯源代碼
mvn test-compile :編譯測試代碼
mvn test : 運行應用程序中的單元測試
mvn site : 生成項目相關信息的網站
mvn clean :清除目標目錄中的生成結果
mvn package : 依據項目生成 jar 文件
mvn install :在本地 Repository 中安裝 jar
mvn eclipse:eclipse :生成 Eclipse 項目文件
pom.xml文件節點介紹
<project> :文件的根節點 .
<modelversion> : pom.xml 使用的對象模型版本
<groupId> :創建項目的組織或團體的唯一 Id
<artifactId> :項目的唯一 Id, 可視爲項目名
<version> :產品的版本號
<packaging> :打包物的擴展名,一般有 JAR,WAR,EAR 等
<name> :項目的顯示名,常用於 Maven 生成的文檔
<url> :組織的站點,常用於 Maven 生成的文檔
<description> :項目的描述,常用於 Maven 生成的文檔
<classifier> : 分類
<outputDirectory> : 定義輸出文件夾
<type> : 相應的依賴產品包形式,如jar,war
<scope> : 用於限制相應的依賴範圍,包括以下的幾種變量
compile :默認範圍,用於編譯
provided:類似於編譯,但支持你期待jdk或者容器提供,類似於classpath
runtime:在執行時,需要使用
test:用於test任務時使用
system:需要外在提供相應得元素。通過systemPath來取得
<systemPath> : 僅用於範圍爲system。提供相應的路徑
<optional> : 標註可選,當項目自身也是依賴時。用於連續依賴時使用
|