Maven生命周期

Maven生命周期分為三部分:
Clean Lifecycle 在進(jìn)行真正的構(gòu)建之前進(jìn)行一些清理工作。

pre-clean 執(zhí)行一些需要在clean之前完成的工作
clean 移除所有上一次構(gòu)建生成的文件
post-clean 執(zhí)行一些需要在clean之后立刻完成的工作

Default Lifecycle 構(gòu)建的核心部分,編譯,測(cè)試,打包,部署等等。

validate 驗(yàn)證工程是否正確,所有需要的資源是否可用。
generate-sources 產(chǎn)生應(yīng)用需要的任何額外的源代碼,如xdoclet。
generate-resources 同上【資源文件】
compile 編譯項(xiàng)目的源代碼。
generate-test-sources 同上【測(cè)試代碼】
generate-test-resources 同上【測(cè)試資源文件】
test-compile 編譯測(cè)試源代碼。
test 使用合適的單元測(cè)試框架運(yùn)行測(cè)試。這些測(cè)試代碼不會(huì)被打包或部署。
package 接受編譯好的代碼,打包成可發(fā)布的格式,如 JAR 。
integration-test 在集成測(cè)試可以運(yùn)行的環(huán)境中處理和發(fā)布包。
verify 運(yùn)行任何檢查,驗(yàn)證包是否有效且達(dá)到質(zhì)量標(biāo)準(zhǔn)。
install 將包安裝至本地倉(cāng)庫(kù),以讓其它項(xiàng)目依賴。
deploy 將最終的包復(fù)制到遠(yuǎn)程的倉(cāng)庫(kù),以讓其它開發(fā)人員與項(xiàng)目共享。

Site Lifecycle 生成項(xiàng)目報(bào)告,站點(diǎn),發(fā)布站點(diǎn)。

pre-site 執(zhí)行一些需要在生成站點(diǎn)文檔之前完成的工作
site 生成項(xiàng)目的站點(diǎn)文檔
post-site 執(zhí)行一些需要在生成站點(diǎn)文檔之后完成的工作,并且為部署做準(zhǔn)備
site-deploy 將生成的站點(diǎn)文檔部署到特定的服務(wù)器上

Maven庫(kù):
http://repo2.maven.org/maven2/
Maven依賴查詢:
http://mvnrepository.com/
Maven常用命令:

  1. 創(chuàng)建Maven的普通java項(xiàng)目:
    mvn archetype:create
    -DgroupId=packageName
    -DartifactId=projectName
  2. 創(chuàng)建Maven的Web項(xiàng)目:
    mvn archetype:create
    -DgroupId=packageName
    -DartifactId=webappName
    -DarchetypeArtifactId=maven-archetype-webapp
  3. 編譯源代碼: mvn compile
  4. 編譯測(cè)試代碼:mvn test-compile
  5. 運(yùn)行測(cè)試:mvn test
  6. 產(chǎn)生site:mvn site
  7. 打包:mvn package
  8. 在本地Repository中安裝jar:mvn install
  9. 清除產(chǎn)生的項(xiàng)目:mvn clean
  10. 生成eclipse項(xiàng)目:mvn eclipse:eclipse
  11. 生成idea項(xiàng)目:mvn idea:idea
  12. 組合使用goal命令,如只打包不測(cè)試:mvn -Dtest package
  13. 編譯測(cè)試的內(nèi)容:mvn test-compile
  14. 只打jar包: mvn jar:jar
  15. 只測(cè)試而不編譯,也不測(cè)試編譯:mvn test -skipping compile -skipping test-compile
    ( -skipping 的靈活運(yùn)用,當(dāng)然也可以用于其他組合命令)
  16. 清除eclipse的一些系統(tǒng)設(shè)置:mvn eclipse:clean

ps:

一般使用情況是這樣,首先通過cvs或svn下載代碼到本機(jī),然后執(zhí)行mvn eclipse:eclipse生成ecllipse項(xiàng)目文件,然后導(dǎo)入到eclipse就行了;修改代碼后執(zhí)行mvn compile或mvn test檢驗(yàn),也可以下載eclipse的maven插件。

mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/ 

發(fā)布第三方Jar到本地庫(kù)中:

mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar 

-DdownloadSources=true 
-DdownloadJavadocs=true 

mvn -e 顯示詳細(xì)錯(cuò)誤 信息.

mvn install -X 想要查看完整的依賴蹤跡,包含那些因?yàn)闆_突或者其它原因而被拒絕引入的構(gòu)件,打開 Maven 的調(diào)試標(biāo)記運(yùn)行
mvn install -Dmaven.test.skip=true 給任何目標(biāo)添加maven.test.skip 屬性就能跳過測(cè)試
mvn install assembly:assembly 構(gòu)建裝配Maven Assembly 插件是一個(gè)用來創(chuàng)建你應(yīng)用程序特有分發(fā)包的插件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 當(dāng)前,JVM生態(tài)圈主要的三大構(gòu)建工具: Apache Ant(帶著Ivy) Maven Gradle 對(duì)于剛開始接...
    清楓_小天閱讀 5,986評(píng)論 1 13
  • 轉(zhuǎn)載 我們?cè)陂_發(fā)項(xiàng)目的時(shí)候,不斷地在編譯、測(cè)試、打包、部署等過程,maven的生命周期就是對(duì)所有構(gòu)建過程抽象與統(tǒng)一...
    ifeelok0319閱讀 220評(píng)論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • 1. Maven 構(gòu)建生命周期 Maven 構(gòu)建生命周期就是 Maven 將一個(gè)整體任務(wù)劃分為一個(gè)個(gè)的階段,類似于...
    data4閱讀 31,385評(píng)論 3 35
  • 你知道嗎?我已經(jīng)提前去了西安實(shí)地考察了一番呢!因?yàn)槲蚁牒湍阍谝雇淼巧乡姌?,看東西南北四條大街的車水馬龍,陪你在車水...
    佟瑾年閱讀 486評(píng)論 5 4

友情鏈接更多精彩內(nèi)容