讀古今文學網 > Maven實戰 > 7.2.5 命令行與生命週期 >

7.2.5 命令行與生命週期

從命令行執行Maven任務的最主要方式就是調用Maven的生命週期階段。需要注意的是,各個生命週期是相互獨立的,而一個生命週期的階段是有前後依賴關係的。下面以一些常見的Maven命令為例,解釋其執行的生命週期階段:

·$mvn clean:該命令調用clean生命週期的clean階段。實際執行的階段為clean生命週期的pre-clean和clean階段。

·$mvn test:該命令調用default生命週期的test階段。實際執行的階段為default生命週期的validate、initialize等,直到test的所有階段。這也解釋了為什麼在執行測試的時候,項目的代碼能夠自動得以編譯。

·$mvn clean install:該命令調用clean生命週期的clean階段和default生命週期的install階段。實際執行的階段為clean生命週期的pre-clean、clean階段,以及default生命週期的從validate至install的所有階段。該命令結合了兩個生命週期,在執行真正的項目構建之前清理項目是一個很好的實踐。

·$mvn clean deploy site-deploy:該命令調用clean生命週期的clean階段、default生命週期的deploy階段,以及site生命週期的site-deploy階段。實際執行的階段為clean生命週期的pre-clean、clean階段,default生命週期的所有階段,以及site生命週期的所有階段。該命令結合了Maven所有三個生命週期,且deploy為default生命週期的最後一個階段,site-deploy為site生命週期的最後一個階段。

由於Maven中主要的生命週期階段並不多,而常用的Maven命令實際都是基於這些階段簡單組合而成的,因此只要對Maven生命週期有一個基本的理解,讀者就可以正確而熟練地使用Maven命令。