maven deploy上傳本地jar至私服
阿新 • • 發佈:2019-01-05
現在做java這一塊的研發基本上都是使用maven作為專案jar包的管理工具,而且用到的jar一般都是公網伺服器所存在的例如我一般到https://mvnrepository.com/ 中獲取所需jar的依賴配置資訊;
但是也有時會遇到公網中不存在的例如自己封裝的相關jar、第三方服務jar等,這時我們就需要想辦法將這種jar上傳到我們的私服中,以便大家使用!
我是通過使用maven的deploy命令將本地jar上傳到指定的私服中,步驟如下:
1.當然首先需要搭建一個私服環境,此處不做過多的介紹
2.配置maven環境變數
3.執行命令上傳
命令格式如下:
mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=E:\jar\alipay-sdk-java20170324180803.jar -DgroupId=com.alipay -DartifactId=sdk-java -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -DrepositoryId=snapshots -Durl=http://10.0.2.xx:8080/nexus/content/repositories/snapshots/
各引數代表含義為:
-Dmaven.test.skip=true //跳過編譯、測試 -Dfile=E:\jar\alipay-sdk-java20170324180803.jar //jar包檔案地址,絕對路徑 -DgroupId=com.alipay //gruopId,可自定義 -DartifactId=sdk-java //artifactId,可自定義 -Dversion //版本號 -Dpackaging //打包方式 -DrepositoryId //遠端庫伺服器ID -Durl //遠端庫伺服器地址
注:可能出現的問題
1.Return code is: 401, ReasonPhrase:Unauthorized
說明沒有配置許可權:開啟maven conf 下的setting.xml 中加入如下程式碼:
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
因為我將jar上傳至http://10.0.2.xx:8080/nexus/content/repositories/snapshots/
2.Return code is: 400, ReasonPhrase: Bad Request
(1)出現該問題有可能是已經上傳過了這個jar,但是policy沒有選擇Allow Redeploy;
(2)有可能版本不符,快照版不能選擇Release
(3)可以嘗試更改下版本 -Dversion=1.0.0-SNAPSHOT