Maven 構建生命週期階段
validate
驗證專案是否正確以及所有必需資訊是否可用於構建。
initialize
初始化構建環境,例如設定屬性或建立目錄。
generate-sources
生成要在編譯階段處理的原始碼。
process-sources
在需要應用某些過濾器的情況下處理原始碼。
generate-resources
生成要包含在工件中的資源。
process-resources
處理並將資源複製到輸出目錄(${basedir}/target/classes
)。
compile
將源目錄(${basedir}/src/main/[java|groovy|...]
)中專案的原始碼編譯到輸出目錄(${basedir}/target/classes
)中。
process-classes
處理 compile
階段生成的 .class
檔案,例如執行位元組碼增強。
generate-test-sources
生成要在 test-compile
階段處理的測試原始碼。
process-test-sources
在需要應用某些過濾器的情況下處理測試原始碼。
generate-test-resources
生成用於測試的資源。
process-test-resources
處理資源目錄(${basedir}/src/main/resources
)中的測試資源並將其複製到測試輸出目錄(${basedir}/target/test-classes
)中。
test-compile
將測試源目錄(’$ {basedir} / src / test / [java | groovy | …]’)中的原始碼編譯到測試輸出目錄(${basedir}/target/test-classes
)中。
process-test-classes
處理測試 test-compile
階段生成的 .class
檔案,例如執行位元組碼增強(Maven 2.0.5 及更高版本)。
test
使用一些合適的測試框架執行測試。注意:這些測試用例不考慮打包和部署。
prepare-package
在最終建立包之前執行最終更改和驗證。
package
將成功編譯和測試的程式碼打包成一些可分發的格式,如 JAR,WAR,EAR 到目標目錄(${basedir}/target
)。
pre-integration-test
如果需要在應用程式的環境中應用某些更改,則在執行整合測試之前執行操作。
integration-test
程序並可能將應用程式部署到可以執行整合測試的環境中。
post-integration-test
在整合測試之後執行操作,例如清理在 pre-integration-test
階段建立的環境。
verify
檢查包裹是否有效並符合所需的質量標準。
install
將工件安裝到本地儲存庫中。在此之後,任何其他本地專案都可以將此工件用作其依賴項之一(如果你的 IDE 不支援工作區依賴項解析 )。
deploy
將程式包複製到遠端儲存庫,以使其可供其他開發人員使用。