maven deploy上传本地jar至私服 - zhangwx的专栏 - CSDN博客


maven deploy上传本地jar至私服

2018年11月07日 18:25:37 Garry1115 阅读数:228
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zwx19921215/article/details/83828783

现在做java这一块的研发基本上都是使用maven作为项目jar包的管理工具,而且用到的jar一般都是公网服务器所存在的例如我一般到https://mvnrepository.com/ 中获取所需jar的依赖配置信息;
但是也有时会遇到公网中不存在的例如自己封装的相关jar、第三方服务jar等,这时我们就需要想办法将这种jar上传到我们的私服中,以便大家使用!
我是通过使用maven的deploy命令将本地jar上传到指定的私服中,步骤如下:
1.当然首先需要搭建一个私服环境,此处不做过多的介绍
2.配置maven环境变量
3.执行命令上传

命令格式如下:

mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=E:\jar\alipay-sdk-java20170324180803.jar -DgroupId=com.alipay -DartifactId=sdk-java -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -DrepositoryId=snapshots -Durl=http://10.0.2.xx:8080/nexus/content/repositories/snapshots/

各参数代表含义为:

  1. 1
    -Dmaven.test.skip=true //跳过编译、测试
  2. 2
    -Dfile=E:\jar\alipay-sdk-java20170324180803.jar //jar包文件地址,绝对路径
  3. 3
    -DgroupId=com.alipay //gruopId,可自定义
  4. 4
    -DartifactId=sdk-java //artifactId,可自定义
  5. 5
    -Dversion //版本号
  6. 6
    -Dpackaging //打包方式
  7. 7
    -DrepositoryId //远程库服务器ID
  8. 8
    -Durl //远程库服务器地址


注:可能出现的问题

1.Return code is: 401, ReasonPhrase:Unauthorized

说明没有配置权限:打开maven conf 下的setting.xml 中加入如下代码:

  1. 1
    <server>
  2. 2
    <id>snapshotsid>
  3. 3
    <username>adminusername>
  4. 4
    <password>adminpassword>
  5. 5
    server>

因为我将jar上传至http://10.0.2.xx:8080/nexus/content/repositories/snapshots/ 所以-DrepositoryId=snapshots,而且授权id也是snapshots,如果你要上传到其它仓库下记得更改DrepositoryId和授权id

2.Return code is: 400, ReasonPhrase: Bad Request

(1)出现该问题有可能是已经上传过了这个jar,但是policy没有选择Allow Redeploy;

(2)有可能版本不符,快照版不能选择Release

(3)可以尝试更改下版本 -Dversion=1.0.0-SNAPSHOT


comments powered by Disqus