Maven私服nexus新增第三方JAR
1. 在nexus中建立儲存第三方jar的倉庫,倉庫型別要選擇 hosted(否則無法儲存jar,原因可以參考倉庫型別說明:proxy hosted group的區別)。建立倉庫是要允許重複釋出
2. 配置maven settings.xml
上傳第三方jar需要有釋出全新的使用者,所有在maven的配置檔案中需要配置nexus的使用者
<server>
<id>maven-third-party</id>
<username>admin</username>
<password>admin123</password>
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
-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——表示你的身份資訊,可以從第二步獲取。
注意
- 確保你的賬號擁有許可權
- 確保第三步的引數沒有錯
- 確保你的網路沒有問題
使用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