Maven私服nexus添加第三方JAR

来源:互联网 发布:软件性能指标描述 编辑:程序博客网 时间:2024/05/29 03:00

非常感谢  https://my.oschina.net/skyzwg/blog/846195


1. 在nexus中创建存储第三方jar的仓库,仓库类型要选择 hosted(否则无法保存jar,原因可以参考仓库类型说明:proxy hosted  group的区别)。创建仓库是要允许重复发布

maven 创建第三方仓库说明1

 

 

2. 配置maven  settings.xml

    上传第三方jar需要有发布全新的用户,所有在maven的配置文件中需要配置nexus的用户

                <server>
                  <id>maven-third-party</id>
                  <username>admin</username>
                  <password>admin123</password>
                </server>

 

3. 上传jar

nexus3 没有提供界面上传的功能。目前只能通过命令上传。

mvn deploy:deploy-file -DgroupId=com.aliyun.oss -DartifactId=aliyun-sdk-oss -Dversion=2.2.3 -Dpackaging=jar -Dfile=D:\abc.jar -Durl=http://localhost:8081/nexus/repository/maven-third-party -DrepositoryId=maven-third-party


mvn deploy:deploy-file 
  -DgroupId=com.aliyun.oss 
  -DartifactId=aliyun-sdk-oss 
  -Dversion=2.2.3 
  -Dpackaging=jar 
  -Dfile=D:\abc.jar 
  -Durl=http://localhost:8081/nexus/repository/maven-third-party/ 
  -DrepositoryId=maven-third-party

这里来对这些参数进行说明:

  • DgroupId、DartifactId、Dversion——表示的是构建的基本坐标,你需要根据你上次的jar包自行改变
  • Dpackaging——表示的是上传的包的类型,一般为jar,不用改变,根据你的实际情况来改变。
  • Dfile——表示的是你需要上传的包的地址
  • Durl——表示的是你要上传到的私有仓库的地址
  • DrepositoryId——表示你的身份信息,可以从第二步获取。

注意

  1. 确保你的账号拥有权限
  2. 确保第三步的参数没有错
  3. 确保你的网络没有问题

 

使用mvn deploy发布到远程仓库时报错 Return code is: 400

原因:

1.nexus的repository分三种类型:Hosted、 Proxy和Virtual,另外还有一个repository group(仓库组)用于对多个仓库进行组合。部署的时候只能部署到Hosted类型的仓库中,如果是其他类型就会出现这个400错误。

 

2.默认情况下部署构件到Releases仓库中有时也会出现400错误,这个原因就像上面提到的那样,Nexus中 Releases仓库默认的Deployment Policy是“Disable Redeploy”,
 所以无论你在settings.xml文件中将server的username设置为deployment还是使用admin都是无 法部署的,就会出现这个400错误。

 

3.Nexus中 Releases仓库Respository PolicySnapshot是“Release” 
      Snapshot仓库Respository PolicySnapshot是“Snapshot” 如果设置反了或错了也是无法部署的。

 

4.如果你Snapshot可以发布,但是releases却发布不了,可能是<version>1.0-SNAPSHOT</version>类似这样的,version中包含了-SNAPSHOT,所以release发布不了,

     也会返回400错误。


原创粉丝点击