1. 程式人生 > 實用技巧 >Maven私服nexus新增第三方JAR

Maven私服nexus新增第三方JAR

>>> hot3.png

1. 在nexus中建立儲存第三方jar的倉庫,倉庫型別要選擇 hosted(否則無法儲存jar,原因可以參考倉庫型別說明:proxy hosted group的區別)。建立倉庫是要允許重複釋出

maven 建立第三方倉庫說明1

2. 配置maven settings.xml

上傳第三方jar需要有釋出全新的使用者,所有在maven的配置檔案中需要配置nexus的使用者

<server>
<id>maven-third-party</id>
<username>admin</username>
<password>admin123</password>

</server>

3. 上傳jar

nexus3 沒有提供介面上傳的功能。目前只能通過命令上傳。

mvn deploy:deploy-file -DgroupId=com.aliyun.oss -DartifactId=aliyun-sdk-oss -Dversion=2.2.3 -Dpackaging=jar -Dfile=D:\abc.jar -Durl=http://localhost:8081/nexus/repository/maven-third-party -DrepositoryId=maven-third-party


mvn deploy:deploy-file

-DgroupId=com.aliyun.oss
-DartifactId=aliyun-sdk-oss
-Dversion=2.2.3
-Dpackaging=jar
-Dfile=D:\abc.jar
-Durl=http://localhost:8081/nexus/repository/maven-third-party/
-DrepositoryId=maven-third-party

這裡來對這些引數進行說明:

  • DgroupId、DartifactId、Dversion——表示的是構建的基本座標,你需要根據你上次的jar包自行改變
  • Dpackaging——表示的是上傳的包的型別,一般為jar,不用改變,根據你的實際情況來改變。
  • Dfile——表示的是你需要上傳的包的地址
  • Durl——表示的是你要上傳到的私有倉庫的地址
  • DrepositoryId——表示你的身份資訊,可以從第二步獲取。

注意

  1. 確保你的賬號擁有許可權
  2. 確保第三步的引數沒有錯
  3. 確保你的網路沒有問題

使用mvn deploy釋出到遠端倉庫時報錯 Return code is: 400

原因:

1.nexus的repository分三種類型:Hosted、 Proxy和Virtual,另外還有一個repository group(倉庫組)用於對多個倉庫進行組合。部署的時候只能部署到Hosted型別的倉庫中,如果是其他型別就會出現這個400錯誤。

2.預設情況下部署構件到Releases倉庫中有時也會出現400錯誤,這個原因就像上面提到的那樣,Nexus中 Releases倉庫預設的Deployment Policy是“Disable Redeploy”,
所以無論你在settings.xml檔案中將server的username設定為deployment還是使用admin都是無 法部署的,就會出現這個400錯誤。

3.Nexus中 Releases倉庫Respository PolicySnapshot是“Release”
Snapshot倉庫Respository PolicySnapshot是“Snapshot” 如果設定反了或錯了也是無法部署的。

4.如果你Snapshot可以釋出,但是releases卻釋出不了,可能是<version>1.0-SNAPSHOT</version>類似這樣的,version中包含了-SNAPSHOT,所以release釋出不了,

也會返回400錯誤。

轉載於:https://my.oschina.net/skyzwg/blog/846195