Maven 的生命週期

Maven的生命週期不是一個總體,而是 三套 相互獨立的生命週期,分別是 clean,default,site 。每一個生命週期都有各自不一樣的生命階段,能夠單獨執行一個生命週期的某個階段,在執行時,今生命週期該階段的其餘階段也依賴執行。java

clean生命週期:目的清理項目bash

階段 含義
pre-clean 執行一些清理前須要完成的工做
clean 清理上一次構件生成的文件
post-clean 執行一些清理後須要完成的工做

default生命週期:定義真正構建所須要指向的全部步驟,是最核心的部分服務器

階段                   含義
validate 驗證工程是否正確,全部須要的資源是否可用。
initialize  
generate-sources  
process-sources

處理項目主資源文件。通常來講是對 src/main/resources框架

目錄的內容進行變量替換工做後複製到項目輸出的主classpath的目錄中post

generate-resources  
process-resources  
compile

編譯項目的主源碼。通常來講是編譯 src/main/java 目錄下的java單元測試

文件到項目輸出的主classpath的目錄中測試

process-classes  

generate-test-sourcesspa

 

process-test-sources命令行

處理項目測試的資源文件 通常來講是對 src/test/resources

目錄的內容進行變量替換工做後複製到項目輸出的測試classpath的目錄中code

generate-test-resources

 

process-test-resources

 
test-compile

編譯項目測試的代碼。通常來講是編譯 src/test/java 目錄下的java

文件到項目輸出測試的classpath的目錄中

process-test-classes  
test 使用單元測試框架的運行測試,測試代碼不會被打包或者部署
prepare-package  
package 接受編譯好的代碼,打包成可發佈的格式,如JAR
pre-integration-test  
integration-test 若有須要,將包處理和發佈到一個可以進行集成測試的環境
post-integration-test  
verify 運行全部檢查,驗證包是否有效且達到質量標準。
install 將包安裝到Maven本地倉庫,供本地其餘項目使用
deploy 將最終的包複製到遠程倉庫,供其餘開發人員和Maven項目使用

site 生命週期:創建和發佈項目站點,Maven可以基於pom所包含的信息,自動生成一個友好的站點。

階段 含義
pre-site 執行一些在生成站點以前須要完成的工做
site 生成項目站點文檔
post-site 執行一些在生成站點以後須要完成的工做
site-deploy 將生成的項目站點發布到服務器上

命令和生命週期

從命令行執行Maven任務的主要方式就是調用 Maven的生命週期階段。各個生命週期相互獨立,而一個生命週期的階段有先後依賴關係。

經常使用命令

mvn clean   #清理
mvn test    #測試
mvn clean install #發佈到本地倉庫
mvn clean depoly site-depoly #發佈到遠程倉庫
相關文章
相關標籤/搜索