maven deploy上传本地jar至私服 - zhangwx的专栏 - CSDN博客
原
maven deploy上传本地jar至私服
现在做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-Dmaven.test.skip=true //跳过编译、测试
- 2-Dfile=E:\jar\alipay-sdk-java20170324180803.jar //jar包文件地址,绝对路径
- 3-DgroupId=com.alipay //gruopId,可自定义
- 4-DartifactId=sdk-java //artifactId,可自定义
- 5-Dversion //版本号
- 6-Dpackaging //打包方式
- 7-DrepositoryId //远程库服务器ID
- 8-Durl //远程库服务器地址
注:可能出现的问题
1.Return code is: 401, ReasonPhrase:Unauthorized
说明没有配置权限:打开maven conf 下的setting.xml 中加入如下代码:
- 1 <server>
- 2 <id>snapshotsid>
- 3 <username>adminusername>
- 4 <password>adminpassword>
- 5 server>
因为我将jar上传至http://10.0.2.xx:8080/nexus/content/repositories/snapshots/ 所以-DrepositoryId=snapshots,而且授权id也是
2.Return code is: 400, ReasonPhrase: Bad Request
(1)出现该问题有可能是已经上传过了这个jar,但是policy没有选择Allow Redeploy;
(2)有可能版本不符,快照版不能选择Release
(3)可以尝试更改下版本 -Dversion=1.0.0-SNAPSHOT