利用maven deploy上传本地jar至私服的方法
1.场景
首先目前依赖包的管理大多数是maven,其次当使用到第三方的包的时候,官方的仓库或者aliyun的maven都是没有这个包的。那么,为了方便我们使用 我们需要将本地的这个jar上传到 公司内部的私服去,以便大家使用
2. 上操作
我们直接使用maven-deploy插件进行上传
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
各参数代表含义为:
groupId: 待上传的jar groupId
artifactId:待上传jar artifactId
version:jar的版本
generatePom: true 表示生成pom
file:表示文件路径 (可以为相对路径或者绝对路径)确保文件存在
url :私服的地址
repositoryId : 私服地址的id
3. 可能会遇到的问题以及解决办法
- 问题1: 上传失败 Return code is: 400, ReasonPhrase: Bad Request. -> [Help 1]
原因(1)可能私服已经存在jar 但是私服仓库未配置允许重新部署
解决:修改私服仓库配置为允许重新部署 如下图
一般情况 snapshots 版本是允许重新部署的 release版本是不允许的 当然也有例外 release 一般不建议允许重新部署 (线上的稳定版本 如果确认没问题的话 建议升级版本号 在重新执行命令)
原因 (2)有可能版本不符,快照版不能选择Release
解决:选择对应的 仓库上传
- 问题二: Return code is: 401, ReasonPhrase:Unauthorized
未进行配置访问私服的账号密码
解决:添加私服的账号密码 位置: maven安装位置/conf/settings.xml
找到servers 标签 并里面 在进行添加内容 如下
<server> <id>xxx-snapshots</id> <username>admin</username> <password>admin</password> </server>
id要和上传时候指定的repositoryId 相同 不然仍会报错
- 问题三:私服上的包拉不下来
解决:idea切换到项目终端 执行如下命令 强制拉取 并且clean install 跳过测试类
mvn -U clean install -DskipTest=true
扩展:maven 本地jar包使用deploy命令上传到私服
deploy命名如下,相关参数可根据自身本地实际情况调整:
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/
使用这种方法时要注意的是如果你要安装的jar是位于本地repository的目录下,即-Dfile={本地repository目录}下,这个命令就会出错(Cannot deploy artifact from the local repository…)
解决方法:
1、将你要安装的jar复制到其他目录再安装,只要不在本地仓库目录都可以
2、如果1还不行的话,可能私服已禁止本地deploy,需要协调私服管理员,然后再注册审核通过后,会创建jenkins job来deploy
到此这篇关于maven deploy上传本地jar至私服的文章就介绍到这了,更多相关maven 上传本地jar至私服内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java利用iTextPDF库实现制作PDF表格模板并填充数据
这篇文章主要为大家详细介绍了如何通过Java的iTextPDF库制作一个PDF表格模板并填充数据,文中的示例代码讲解详细,感兴趣的小伙伴快跟随小编一起学习一下吧2023-12-12java 出现问题javax.servlet.http.HttpServlet was not found解决方法
这篇文章主要介绍了java 出现问题javax.servlet.http.HttpServlet was not found解决方法的相关资料,需要的朋友可以参考下2016-11-11spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法
这篇文章主要介绍了spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法,需要的朋友可以参考下2018-03-03springcloud项目里application.yml不加载的坑及解决
这篇文章主要介绍了springcloud项目里application.yml不加载的坑及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-07-07Java并发工具类CountDownLatch CyclicBarrier使用详解
这篇文章主要为大家介绍了Java并发工具类CountDownLatch CyclicBarrier使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-06-06
最新评论