maven常用命令及參數


常用參數

mvn deploy

參數:

  • -Dmaven.test.skip=true

跳過單元測試,單元測試會走springboot啟動工程

mvn deploy -Dmaven.test.skip=true
  • -pl:指定moudle單獨進行deploy

只需要部署其他工程依賴的模塊即可,不需要將整個工程deploy。

mvn deploy -pl assets-db
  • -N:不構建子工程,只上傳父目錄pom
mvn deploy -N 

mvn install

參數:

  • -Dmaven.repo.local 指定install目錄

一般本地有多個倉庫時會用到,如果不加該參數,默認位置為/Users/{userName}/.m2,如果在項目中修改了repository位置,會導致引用不到。

mvn install -Dmaven.repo.local=/.../repository
  • --settings 指定配置文件

當我們打包環境比較復雜的時候,不同的工程要連接不同的私服庫的時候,就需要在執行mvn命令的時候指定setting.xml文件,此時mvn會按照指定配置文件里配置的nexus地址和用戶名進行取包。一般會跟-Dmaven.repo.local同時使用。

mvn install --settings /.../apache-maven-3.8.3/conf/settings.xml

其他

參數:

  • -e 打印詳細報錯信息

當deploy或者install時,加上該參數會打印出更詳細的報錯信息,方便排查問題。

mvn deploy -e
  • -X 打印debug信息
mvn deploy -X

問題

背景:需要將相關的jar包手動上傳至maven私服。

報錯信息:上傳失敗,報401權限錯誤。

解決:在deploy時加上-X參數,會打印具體的信息,包括上傳的file(jar包)路徑,項目的groupId、artifactId、version版本、repositoryId、目標倉庫地址url。

注意:repositoryId必須跟pom文件中配置的 標簽下的id一致才行,而不是settings文件中的配置。

總結:

以上參數一般都是組合使用,舉幾個例子可以直接選擇性CV使用

eg:

  • 上傳指定jar包到指定倉庫
mvn deploy:deploy-file 

-Dmaven.test.skip=true 

-Dfile=/...路徑地址/1.0.3-SNAPSHOT/xxx.jar

-DgroupId=xxx.xxx.xxx

-DartifactId=xxxx

-Dversion=1.0.3-SNAPSHOT 

-Dpackaging=jar 

-DrepositoryId=xxxxx

-Durl=https://.../repository/xxx-SnapShot/
  • 根據指定配置文件將指定moudle install到指定本地位置
mvn clean install 

-Dmaven.test.skip=true 

--settings /...路徑地址/settings.xml 

-Dmaven.repo.local=/.../repository/... 

-pl assets-base

-e 

-U // 強制從倉庫更新,忽略緩存


免責聲明!

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



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