手动上传SNAPSHOT文件到Maven私服Nexus的方法

公司用Nexus搭建的Maven私服,之前一直用代理方式链接兄弟公司的Maven私服,来使用他们的研发成果。最近他们出于安全考虑禁止了外部访问,改为直接把jar包发送给我们,而我们需要把jar包手动上传到我们的私服上供开发团队使用。
问题来了:他们提供的jar是SNAPSHOT版本,Nexus私服的Release仓库不允许上传SNAPSHOT版本,会报错,而SNAPSHOT仓库压根就不提供Web界面上传功能。
经过调查,找到的办法是通过Maven命令行直接上传文件。

命令行的完整写法如下:

mvn deploy:deploy-file -DgroupId=com.youcompany -DartifactId=your-artifactID -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -Dfile=F:\jar\your-jar-1.0.1-SNAPSHOT.jar -Durl=https://yourcompany.com/nexus/content/repositories/snapshots/ -DrepositoryId=snapshots

前面几个参数显而易见不解释,最后两个参数简单说一下:
url: 在nexus上的目标SNAPSHOT仓库的URL地址。
repositoryId: 在maven本地settings.xml中,与上述URL对应的节点中配置的id。

比如,如果settings.xml配置的是:

<server>
    <id>releases</id>
    <username>admin</username>
    <password>123</password>
</server>
<server>
  <id>snapshots</id>
  <username>admin</username>
  <password>123</password>
</server>  

那么要上传SNAPSHOT包的话,repositoryId就应该是snapshots

参数都确定后,就去命令行执行吧,一切顺利的话,上传成功后,在Web界面应该就能搜索到了。

上一篇:nexus 配置文件到本地maven本地仓库 失败


下一篇:str和dumps的区别