1. 程式人生 > 實用技巧 >手動上傳SNAPSHOT檔案到Maven私服Nexus的方法

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