1.說明
Maven爲項目抽象了3套生命週期,
每套生命週期又包含多個階段,
這些階段是Maven已經約定好的,
但是用戶可以定義每個階段具體實現。
這3套生命週期是相互獨立的,
沒有依賴關係的,
而每套生命週期中有多個階段,
這些階段是有先後順序的,
後面的階段依賴於前面的階段。
Maven中定義的3套生命週期:
- clean生命週期
- default生命週期
- site生命週期
2.生命週期總覽
3.clean生命週期
生命週期階段 |
描述 |
pre-clean |
執行一些需要在clean之前完成的工作 |
clean |
移除所有上一次構建生成的文件 |
post-clean |
執行一些需要在clean之後立刻完成的工作 |
4.default生命週期
生命週期階段 |
描述 |
validate |
校驗:校驗項目是否正確並且所有必要的信息可以完成項目的構建過程。 |
initialize |
初始化:初始化構建狀態,比如設置屬性值。 |
generate-sources |
生成源代碼:生成包含在編譯階段中的任何源代碼。 |
process-sources |
處理源代碼:處理源代碼,比如說,過濾任意值。 |
generate-resources |
生成資源文件:生成將會包含在項目包中的資源文件。 |
process-resources |
編譯:複製和處理資源到目標目錄,爲打包階段最好準備。 |
compile |
處理類文件:編譯項目的源代碼。 |
process-classes |
處理類文件:處理編譯生成的文件,比如說對Java class文件做字節碼改善優化。 |
generate-test-sources |
生成測試源代碼:生成包含在編譯階段中的任何測試源代碼。 |
process-test-sources |
處理測試源代碼:處理測試源代碼,比如說,過濾任意值。 |
generate-test-resources |
生成測試源文件:爲測試創建資源文件。 |
process-test-resources |
處理測試源文件:複製和處理測試資源到目標目錄。 |
test-compile |
編譯測試源碼:編譯測試源代碼到測試目標目錄. |
process-test-classes |
處理測試類文件:處理測試源碼編譯生成的文件。 |
test |
測試:使用合適的單元測試框架運行測試(Juint是其中之一)。 |
prepare-package |
準備打包:在實際打包之前,執行任何的必要的操作爲打包做準備。 |
package |
打包:將編譯後的代碼打包成可分發格式的文件,比如JAR、WAR或者EAR文件。 |
pre-integration-test |
集成測試前:在執行集成測試前進行必要的動作。比如說,搭建需要的環境。 |
integration-test |
集成測試:處理和部署項目到可以運行集成測試環境中。 |
post-integration-test |
集成測試後:在執行集成測試完成後進行必要的動作。比如說,清理集成測試環境。 |
verify |
驗證:運行任意的檢查來驗證項目包有效且達到質量標準。 |
install |
安裝:安裝項目包到本地倉庫,這樣項目包可以用作其他本地項目的依賴。 |
deploy |
部署:將最終的項目包複製到遠程倉庫中與其他開發者和項目共享。 |
5.site生命週期
階段 |
描述 |
pre-site |
執行一些需要在生成站點文檔之前完成的工作 |
site |
生成項目的站點文檔 |
post-site |
執行一些需要在生成站點文檔之後完成的工作,並且爲部署做準備 |
site-deploy |
將生成的站點文檔部署到特定的服務器上 |
6.參考文章
Maven系列第6篇:生命週期和插件詳解?高手必備!
Maven進價:Maven的生命週期階段