利用maven deploy上传本地jar至私服的方法

 更新时间:2023年02月15日 11:29:31   作者:寂夜了无痕  
这篇文章主要介绍了利用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至私服内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot实现PDF转图片的代码示例

    SpringBoot实现PDF转图片的代码示例

    在本文中,我们使用SpringBoot演示了如何将PDF文件转换为一张或多张图片,这些示例演示了如何使用Java编程语言与其他开源技术集成,以实现各种文件格式之间的转换,感兴趣的小伙伴跟着小编一起来看看吧
    2024-08-08
  • 使用spring@value加载时机

    使用spring@value加载时机

    这篇文章主要介绍了使用spring@value加载时机方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java语言字典序排序算法解析及代码示例

    Java语言字典序排序算法解析及代码示例

    这篇文章主要介绍了Java语言字典序排序算法解析及代码示例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Java 判断IP地址的合法性实例详解

    Java 判断IP地址的合法性实例详解

    这篇文章主要介绍了Java 判断IP地址的合法性实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • SpringBoot中处理的转发与重定向方式

    SpringBoot中处理的转发与重定向方式

    这篇文章主要介绍了SpringBoot中处理的转发与重定向方式,分别就转发和重定向做了概念解说,结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • SpringBoot如何实现缓存预热

    SpringBoot如何实现缓存预热

    缓存预热是指在 Spring Boot 项目启动时,预先将数据加载到缓存系统(如 Redis)中的一种机制,本文主要介绍了SpringBoot如何实现缓存预热,感兴趣的可以了解下
    2024-12-12
  • Spring中的@ControllerAdvice三种用法详解

    Spring中的@ControllerAdvice三种用法详解

    这篇文章主要介绍了Spring中的@ControllerAdvice三种用法详解,加了@ControllerAdvice的类为那些声明了(@ExceptionHandler、@InitBinder或@ModelAttribute注解修饰的)方法的类而提供的<BR>专业化的@Component,以供多个Controller类所共享,需要的朋友可以参考下
    2024-01-01
  • Spring Boot利用@Async异步调用:使用Future及定义超时详解

    Spring Boot利用@Async异步调用:使用Future及定义超时详解

    这篇文章主要给大家介绍了关于Spring Boot利用@Async异步调用:使用Future及定义超时的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友可以参考下
    2018-05-05
  • java compiler没有1.8怎么解决

    java compiler没有1.8怎么解决

    这篇文章主要介绍了java compiler没有1.8的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • 一文带你搞懂SpringBoot中自动装配原理

    一文带你搞懂SpringBoot中自动装配原理

    这篇文章主要为大家详细介绍了SpringBoot中自动装配原理的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2025-01-01

最新评论