default生命週期定義了真正構建時所需要執行的所有步驟,它是所有生命週期中最核心的部分,其包含的階段如下,這裡筆者只對重要的階段進行解釋:
·validate
·initialize
·generate-sources
·process-sources處理項目主資源文件。一般來說,是對src/main/resources目錄的內容進行變量替換等工作後,複製到項目輸出的主classpath目錄中。
·generate-resources
·process-resources
·compile編譯項目的主源碼。一般來說,是編譯src/main/java目錄下的Java文件至項目輸出的主classpath目錄中。
·process-classes
·generate-test-sources
·process-test-sources處理項目測試資源文件。一般來說,是對src/test/resources目錄的內容進行變量替換等工作後,複製到項目輸出的測試classpath目錄中。
·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本地倉庫,供本地其他Maven項目使用。
·deploy將最終的包複製到遠程倉庫,供其他開發人員和Maven項目使用。
對於上述未加解釋的階段,讀者也應該能夠根據名字大概猜到其用途,若想瞭解進一步的這些階段的詳細信息,可以參閱官方的解釋:http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html。