MAVEN
clean
清理項目
package
編譯main和test,并按照pom設定進行打包
install
編譯main和 test,按照pom打包并釋出到本地maven倉庫
compile
隻編譯main,不編譯test
deploy
編譯main和test、按照pom打包,更新到本地倉庫和私服倉庫
mvn clean package deploy:重新釋出
jar包不被認為是最新的情況:
- jar不存在(maven clean)
- 傳入比較的檔案不存在
- 資源的修改時間未知
- jar包最後修改時間早于資源修改時間
maven在執行一個生命周期的指令時會執行之前生命周期的所有操作,但當maven認為jar包為最新時,預設不會對其打包,而會将其直接傳回。
maven的生命周期
maven有三個互相獨立的生命周期,分别為clean(清理)、default(打包部署)、site(文檔生成)
clean
- pre-clean 執行一些清理前需要完成的工作。
- clean 清理上一次建構生成的檔案。
- post-clean 執行一些清理後需要完成的工作。
default
- process-sources 處理項目主資源檔案。一般來說,是對src/main/resources目錄的内容進行變量替換等工作後,複制到項目輸出的主classpath目錄中。
- compile 編譯項目的主代碼。一般來說,是編譯src/main/java目錄下的Java檔案至項目輸出的主classpath目錄中。
- process-test-sources 處理項目測試資源檔案 src/main/resources。
- test-compile 編譯項目的測試代碼。src/test/java。
- test 使用單元測試架構運作測試,測試代碼不會被打包或部署。
- package 接受編譯好的代碼,打包成可釋出的格式,如jar。
- install 将包安裝到Maven本地倉庫,供本地其他Maven項目使用。
- deploy 将最終的包複制到遠端倉庫。
Site
- pre-site
- site 生成項目站點文檔。
- post-site
- site-deploy 将生成的項目站點釋出到伺服器上。