Maven clean基本命令


轉自--------------------------------------https://www.cnblogs.com/hiver/p/7850954.html

 

假設現有項目結構如下

dailylog-parent
|-dailylog-common
|-dailylog-web

  • 三個文件夾處在同級目錄中
  • dailylog-web依賴dailylog-common
  • dailylog-parent管理dailylog-common和dailylog-web。

常見參數:

 


1. 在dailylog-parent目錄運行`mvn clean install -pl org.lxp:dailylog-web -am`,結果以下是在maven-3.3.9中的試驗

  • dailylog-common成功安裝到本地庫
  • dailylog-parent成功安裝到本地庫
  • dailylog-web成功安裝到本地庫

該命令等價於`mvn clean install -pl ../dailylog-web -am`

2. 在dailylog-parent目錄運行`mvn clean install -pl ../dailylog-common -am`,結果

  • dailylog-common成功安裝到本地庫
  • dailylog-parent成功安裝到本地庫

3. 在dailylog-parent目錄運行`mvn clean install -pl ../dailylog-common -amd`,結果

  • dailylog-common成功安裝到本地庫
  • dailylog-web成功安裝到本地庫

由於dailylog-parent並不依賴dailylog-common模塊,故沒有被安裝

4. 在dailylog-parent目錄運行`mvn clean install -pl ../dailylog-common,../dailylog-parent -amd`,結果

  • dailylog-common成功安裝到本地庫
  • dailylog-parent成功安裝到本地庫
  • dailylog-web成功安裝到本地庫

5. 在dailylog-parent目錄運行`mvn clean install -N`,結果

  • dailylog-parent成功安裝到本地庫

-N表示不遞歸,那么dailylog-parent管理的子模塊不會被同時安裝

6. 在dailylog-parent目錄運行`mvn clean install -pl ../dailylog-parent -N`,結果

  • dailylog-parent成功安裝到本地庫

在dailylog-parent目錄運行`mvn clean install -rf ../dailylog-common`,結果

    • dailylog-common成功安裝到本地庫
    • dailylog-web成功安裝到本地庫

 

==========================================================================================

mvn clean package依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。
mvn clean install依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個階段。
mvn clean deploy依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。

   由上面的分析可知主要區別如下,

package命令完成了項目編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫
install命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫,但沒有布署到遠程maven私服倉庫
deploy命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫  

 

 

==========================================================================================

Maven中的-D(Properties屬性)和-P(Profiles配置文件)

 

-D代表(Properties屬性)

使用命令行設置屬性-D的正確方法是:

mvn -DpropertyName=propertyValue clean package
  • 如果propertyName不存在pom.xml,它將被設置。
  • 如果propertyName已經存在pom.xml,其值將被作為參數傳遞的值覆蓋-D

要發送多個變量,請使用多個空格分隔符加-D

mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package

 

 

-P代表(Profiles配置文件)

也就是說在<profiles>指定的<id>中,可以通過-P進行傳遞或者賦值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM