手動上傳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界面應該就能搜索到了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章