一、Maven的基本概念
主要服務於基於Java平臺的項目構建,依賴管理和項目信息管理。
1.1、項目構建
項目構建過程包括【清理項目】→【編譯項目】→【測試項目】→【生成測試報告】→【打包項目】→【部署項目】這幾個步驟,這六個步驟就是一個項目的完整構建過程。
1.2、依賴管理
依賴指的是jar包之間的相互依賴,比如我們搭建一個Struts2的開發框架時,光光有struts2-core-2.3.16.3.jar這個jar包是不行的,struts2-core-2.3.16.3.jar還依賴其它的jar包,依賴管理指的就是使用Maven來管理項目中使用到的jar包,Maven管理的方式就是“自動下載項目所需要的jar包,統一管理jar包之間的依賴關係”。
1.3、使用Maven的好處
Maven中使用約定,約定java源代碼代碼必須放在哪個目錄下,編譯好的java代碼又必須放到哪個目錄下,這些目錄都有明確的約定。
Maven的每一個動作都擁有一個生命週期,例如執行 mvn install 就可以自動執行編譯,測試,打包等構建過程
只需要定義一個pom.xml,然後把源碼放到默認的目錄,Maven幫我們處理其他事情
使用Maven可以進行項目高度自動化構建,依賴管理(這是使用Maven最大的好處),倉庫管理。
二、Maven的常用命令
eclipse繼承環境,去掉mvn。
這裏主要是在eclipse中使用maven,因此只使用到了一部分命令,整理下來方便以後查閱。
1.生成清除Eclipse項目結構:
mvn eclipse:eclipse
mvn eclipse:clean
2.清理(刪除target目錄下編譯內容)
mvn clean
3.運行測試
mvn test
4.編譯項目
mvn compile
5.打包發佈,(生成target目錄,編譯、測試代碼,生成測試報告,生成jar/war文件)
mvn package
6.上傳jar包,(在整合或者發佈環境下執行,將最終版本的包拷貝到遠程的repository,使得其他的開發者或者工程可以共享)
mvn deploy
附:
mvn deploy:deploy-file -DgroupId=com.xy.Oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=E:\ojdbc14.jar -Durl=http://localhost:9090/nexus-2.2-01/content/repositories/thirdparty/ -DrepositoryId=thirdparty
DgroupId和DartifactId構成了該jar包在pom.xml的座標,項目就是依靠這兩個屬性定位。自己起名字也行。
Dfile表示需要上傳的jar包的絕對路徑。
Durl私服上倉庫的位置,打開nexus——>repositories菜單,可以看到該路徑。
DrepositoryId服務器的表示id,在nexus的configuration可以看到。
Dversion表示版本信息,怎樣得到一個jar包準確的版本呢?
解壓該包,會發現一個叫MANIFEST.MF的文件,這個文件就有描述該包的版本信息。
比如Manifest-Version: 1.0可以知道該包的版本了。
上傳成功後,在nexus界面點擊3rd party倉庫可以看到這包。
7.發佈第三方Jar到本地庫中
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar
8.只測試而不編譯
mvn test -skipping compile
9.不測試不編譯
mvn skipping test-compile
10.打包時跳過測試
mvn package -Dmaven.test.skip=ture
參考博文:http://www.cnblogs.com/adolfmc/archive/2012/07/31/2616908.html,感謝這位博主