前幾天在用一個插件的時候,感覺到pom文件的配置有些陌生,缺少了對maven的生命週期或maven的基礎的瞭解;有些時候一直在用的卻不瞭解原理,是個壞習慣。
1. maven項目的構建過程:
- clean :清理編譯的項目
- validate :驗證
- compile :編譯項目
- test :測試項目(運行測試類)
- package :項目打包
- install :安裝到本地倉庫
- sit :項目站點文檔創建的處理
- deploy :複製到遠程倉庫
2. maven的生命週期是抽象的,具體的任務是由插件來完成的
3. maven 的三個獨立的生命週期(每個生命週期都包含了一些階段phase,每個生命週期的phase是有序的)
- clean 構建之前的清理工作
pre-clean 執行一些需要在clean之前完成的工作
clean 移除所有上一次構建生成的文件
post-clean 執行clean之後的工作
- site 生成項目報告,站點,發佈站點
pre-site 準備工作
site 生成項目的站點文檔
post-site 生成後工作,爲部署做準備
site-deploy 發佈生成的站點文檔
- default (核心)
validate
generate-sources 爲包含在編譯過程中的代碼生成源碼
process-sources 處理源代碼
generate-resources 生成資源文件
process-resources 複製並處理資源文件,至目標目錄,準備打包。
compile 編譯項目的源代碼。
process-classes
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources 複製並處理資源文件,至目標測試目錄。
test-compile 編譯測試源代碼。
process-test-classes
test 使用合適的單元測試框架運行測試。這些測試代碼不會被打包或部署。
prepare-package
package 接受編譯好的代碼,打包成可發佈的格式,如 JAR 。
pre-integration-test
integration-test
post-integration-test
verify
install 將包安裝至本地倉庫,以讓其它項目依賴。
deploy 將最終的包複製到遠程的倉庫,以讓其它開發人員與項目共享。