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/

各参数代表含义为:

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


maven deploy上传本地jar至私服_第1张图片

注:可能出现的问题

1.Return code is: 401, ReasonPhrase:Unauthorized

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

	 
    	    snapshots
			admin
			admin
    

因为我将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;

maven deploy上传本地jar至私服_第2张图片

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

maven deploy上传本地jar至私服_第3张图片

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

你可能感兴趣的:(maven,maven,deploy,maven上传本地jar)