利用maven deploy上傳本地jar至私服的方法
1.場(chǎng)景
首先目前依賴包的管理大多數(shù)是maven,其次當(dāng)使用到第三方的包的時(shí)候,官方的倉(cāng)庫(kù)或者aliyun的maven都是沒有這個(gè)包的。那么,為了方便我們使用 我們需要將本地的這個(gè)jar上傳到 公司內(nèi)部的私服去,以便大家使用
2. 上操作
我們直接使用maven-deploy插件進(jìn)行上傳
mvn deploy:deploy-file -DgroupId=xxx.openplatform.shared -DartifactId=sdk.client -Dversion=2.9.0-SNAPSHOT -Dpackaging=jar -DgeneratePom=true -Dfile=./src/main/resources/lib/xx-sdk-java-1.2.0.jar -Durl='http://xxxx:8083/nexus/content/repositories/snapshots/' -DrepositoryId=xxx-snapshots
各參數(shù)代表含義為:
groupId: 待上傳的jar groupId
artifactId:待上傳jar artifactId
version:jar的版本
generatePom: true 表示生成pom
file:表示文件路徑 (可以為相對(duì)路徑或者絕對(duì)路徑)確保文件存在
url :私服的地址
repositoryId : 私服地址的id
3. 可能會(huì)遇到的問題以及解決辦法
- 問題1: 上傳失敗 Return code is: 400, ReasonPhrase: Bad Request. -> [Help 1]
原因(1)可能私服已經(jīng)存在jar 但是私服倉(cāng)庫(kù)未配置允許重新部署
解決:修改私服倉(cāng)庫(kù)配置為允許重新部署 如下圖
一般情況 snapshots 版本是允許重新部署的 release版本是不允許的 當(dāng)然也有例外 release 一般不建議允許重新部署 (線上的穩(wěn)定版本 如果確認(rèn)沒問題的話 建議升級(jí)版本號(hào) 在重新執(zhí)行命令)

原因 (2)有可能版本不符,快照版不能選擇Release

解決:選擇對(duì)應(yīng)的 倉(cāng)庫(kù)上傳
- 問題二: Return code is: 401, ReasonPhrase:Unauthorized
未進(jìn)行配置訪問私服的賬號(hào)密碼
解決:添加私服的賬號(hào)密碼 位置: maven安裝位置/conf/settings.xml
找到servers 標(biāo)簽 并里面 在進(jìn)行添加內(nèi)容 如下
<server>
<id>xxx-snapshots</id>
<username>admin</username>
<password>admin</password>
</server>id要和上傳時(shí)候指定的repositoryId 相同 不然仍會(huì)報(bào)錯(cuò)
- 問題三:私服上的包拉不下來(lái)
解決:idea切換到項(xiàng)目終端 執(zhí)行如下命令 強(qiáng)制拉取 并且clean install 跳過(guò)測(cè)試類
mvn -U clean install -DskipTest=true
擴(kuò)展:maven 本地jar包使用deploy命令上傳到私服
deploy命名如下,相關(guān)參數(shù)可根據(jù)自身本地實(shí)際情況調(diào)整:
?mvn deploy:deploy-file? -Dmaven.test.skip=true -Dfile=/Users/xxx/ImpalaJDBC41-2.6.4.jar -DgroupId=com.cloudera? -DartifactId=ImpalaJDBC41 -Dversion=2.6.4 -Dpackaging=jar? -DrepositoryId=nexus-release -Durl=https://www.xxx.cn/artifactory/maven-public/
使用這種方法時(shí)要注意的是如果你要安裝的jar是位于本地repository的目錄下,即-Dfile={本地repository目錄}下,這個(gè)命令就會(huì)出錯(cuò)(Cannot deploy artifact from the local repository…)
解決方法:
1、將你要安裝的jar復(fù)制到其他目錄再安裝,只要不在本地倉(cāng)庫(kù)目錄都可以
2、如果1還不行的話,可能私服已禁止本地deploy,需要協(xié)調(diào)私服管理員,然后再注冊(cè)審核通過(guò)后,會(huì)創(chuàng)建jenkins job來(lái)deploy
到此這篇關(guān)于maven deploy上傳本地jar至私服的文章就介紹到這了,更多相關(guān)maven 上傳本地jar至私服內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 關(guān)于使用mvn deploy命令將本地jar包上傳到maven私服的問題(收藏)
- 多模塊maven的deploy集成gitlab?ci自動(dòng)發(fā)版配置
- maven 在執(zhí)行package,install,deploy時(shí)使用clean與不使用clean的不同之處
- maven deploy時(shí)報(bào)錯(cuò)的解決方法
- Maven 打包項(xiàng)目到私服 (deploy)的配置方法
- Maven deploy配置方法詳解
- 理解maven命令package、install、deploy的聯(lián)系與區(qū)別
- Maven deploy plugin使用方式
相關(guān)文章
Java利用iTextPDF庫(kù)實(shí)現(xiàn)制作PDF表格模板并填充數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)Java的iTextPDF庫(kù)制作一個(gè)PDF表格模板并填充數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2023-12-12
SpringCloud基于Feign的可編程式接口調(diào)用實(shí)現(xiàn)
本文主要介紹了SpringCloud基于Feign的可編程式接口調(diào)用實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
java 出現(xiàn)問題javax.servlet.http.HttpServlet was not found解決方法
這篇文章主要介紹了java 出現(xiàn)問題javax.servlet.http.HttpServlet was not found解決方法的相關(guān)資料,需要的朋友可以參考下2016-11-11
spring 定時(shí)任務(wù)@Scheduled詳解
這篇文章主要介紹了spring 定時(shí)任務(wù)@Scheduled的相關(guān)資料,文中通過(guò)示例代碼介紹的很詳細(xì),相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友們下面來(lái)一起看看吧。2017-01-01
spring boot配置MySQL數(shù)據(jù)庫(kù)連接、Hikari連接池和Mybatis的簡(jiǎn)單配置方法
這篇文章主要介紹了spring boot配置MySQL數(shù)據(jù)庫(kù)連接、Hikari連接池和Mybatis的簡(jiǎn)單配置方法,需要的朋友可以參考下2018-03-03
springcloud項(xiàng)目里application.yml不加載的坑及解決
這篇文章主要介紹了springcloud項(xiàng)目里application.yml不加載的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Java并發(fā)工具類CountDownLatch CyclicBarrier使用詳解
這篇文章主要為大家介紹了Java并發(fā)工具類CountDownLatch CyclicBarrier使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
Java生態(tài)/Redis中使用Lua腳本的過(guò)程
這篇文章主要介紹了Java生態(tài)/Redis中如何使用Lua腳本,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03

