A Build Lifecycle is Made Up of Phases.A Build Phase is Made Up of Plugin Goals. 用了好久的maven了,直到最近才發現自已對maven的生命週期都還不瞭解,之前一直理解錯了,一直把default的一些phases當成了maven的生命週期。現記錄一下:Maven的生命週期就是對全部的構建過程進行抽象和統一。包含了項目的清理、初始化、編譯、測試、打包、集成測試、驗證、部署和站點生成等幾乎全部的構建步驟。Maven的生命週期是抽象的,即生命週期不作任何實際的工做,實際任務由插件完成,相似於設計模式中的模板方法。 Maven有三套相互獨立的生命週期,分別是clean、default和site。每一個生命週期包含一些階段(phase),階段是有順序的,後面的階段依賴於前面的階段。
clean
compile
test
package
install
各個生命週期相互獨立,一個生命週期的階段先後依賴。如:設計模式
mvn clean
調用clean生命週期的clean階段,實際執行pre-clean和clean階段maven
mvn test
調用default生命週期的test階段,實際執行test以及以前全部階段post
mvn clean install
調用clean生命週期的clean階段和default的install階段,實際執行pre-clean和clean,install以及以前全部階段測試