天天看點

maven常用指令與生命周期MAVENmaven的生命周期

MAVEN

clean

清理項目

package

編譯main和test,并按照pom設定進行打包

install

編譯main和 test,按照pom打包并釋出到本地maven倉庫

compile

隻編譯main,不編譯test

deploy

編譯main和test、按照pom打包,更新到本地倉庫和私服倉庫

mvn clean package deploy:重新釋出

jar包不被認為是最新的情況:

  1. jar不存在(maven clean)
  2. 傳入比較的檔案不存在
  3. 資源的修改時間未知
  4. jar包最後修改時間早于資源修改時間

maven在執行一個生命周期的指令時會執行之前生命周期的所有操作,但當maven認為jar包為最新時,預設不會對其打包,而會将其直接傳回。

maven的生命周期

maven有三個互相獨立的生命周期,分别為clean(清理)、default(打包部署)、site(文檔生成)

clean

  1. pre-clean 執行一些清理前需要完成的工作。
  2. clean 清理上一次建構生成的檔案。
  3. post-clean 執行一些清理後需要完成的工作。

default

  1. process-sources 處理項目主資源檔案。一般來說,是對src/main/resources目錄的内容進行變量替換等工作後,複制到項目輸出的主classpath目錄中。
  2. compile 編譯項目的主代碼。一般來說,是編譯src/main/java目錄下的Java檔案至項目輸出的主classpath目錄中。
  3. process-test-sources 處理項目測試資源檔案 src/main/resources。
  4. test-compile 編譯項目的測試代碼。src/test/java。
  5. test 使用單元測試架構運作測試,測試代碼不會被打包或部署。
  6. package 接受編譯好的代碼,打包成可釋出的格式,如jar。
  7. install 将包安裝到Maven本地倉庫,供本地其他Maven項目使用。
  8. deploy 将最終的包複制到遠端倉庫。

Site

  1. pre-site
  2. site 生成項目站點文檔。
  3. post-site
  4. site-deploy 将生成的項目站點釋出到伺服器上。