Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >跨站数据测试

关于Maven无法上传快照SNAPSHOT包,You cannot upload a snapshot version into a release repository的解决

我们这里只讲一下利用Nexus搭建的Maven私服处理办法。
通常上传自己的jar包,是通过3rd party中Artifact Upload就可以完成,新建一个hosted也是有Artifact Upload可以上传jar包。
但新建一个snapshot-hosted 却没有Artifact Upload可以上传jar包。
而release库里又没法上传SNAPSHOT包,所以这里介绍一下通过maven命令来上传的方法。

一、需要修改maven安装目录下conf里settings.xml

<!-- 配置远程仓库验证信息 -->
<servers>
  <server>  
    <id>xxxx</id>  
    <username>admin</username>  
    <password>admin123</password>  
  </server>  
  <server>  
    <id>xxxx-snapshot</id>  
    <username>admin</username>  
    <password>admin123</password>  
  </server> 
</servers>

<!-- 配置远程发布到私服,mvn deploy--> 
<distributionManagement>  
    <repository>  
        <id>xxxx</id>  
        <name>xxxx</name>  
        <url>http://192.168.xx.xx/content/repositories/xxxx/</url>  
    </repository>  
    <snapshotRepository>  
        <id>xxxx-snapshot</id>  
        <name>xxxx-snapshot</name>  
        <url>http://192.168.xx.xx/content/repositories/xxxx-snapshot/</url>  
    </snapshotRepository>  
</distributionManagement>


二、maven的执行命令
mvn deploy:deploy-file 
-DgroupId=com.xxx
-DartifactId=xxx-core 
-Dversion=1.8.0-SNAPSHOT 
-Dpackaging=jar 
-Dfile=D:/xxx-core-1.8.0-SNAPSHOT.jar 
-Durl=http://192.168.xx.xx/content/repositories/xxxx-snapshot/ 
-DrepositoryId=xxxx-snapshot


Dfile表示需要上传的jar包的绝对路径。
Durl私服上仓库的位置,打开nexus——>repositories菜单,可以看到该路径。

DrepositoryId服务器的表示id,在nexus的configuration可以看到。

执行命令,如果上传成功则显示


不成功也会有相应的提示,如返回401是验证失败之类的,要具体来看。

以上,完成了jar包的上传。

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 比特币、区块链 到底是什么鬼?

下一篇: 关于代码家(干货集中营)共享知识点汇总系列——Android

精华推荐