1. 程式人生 > >maven deploy第三方jar到Nexus3提示ReasonPhrase: Unauthorized

maven deploy第三方jar到Nexus3提示ReasonPhrase: Unauthorized

最近維護古老的專案時,發現其pom.xml中配置的許多依賴以及不存在,或者有些依賴的座標也有所變化,好在曾經我將這些依賴都拷貝到本地,但是由於公司的Nexus以及沒人維護,於是我便自己使用Nexus3搭建了一套服務。此時就需要將這些jar上傳到Nexus3中,使用命令入下:

mvn deploy:deploy-file 
    -DgroupId=dwr 
    -DartifactId=dwr 
    -Dversion=3.0.0 
    -Dpackaging=jar 
    -Dfile=~/Document/dwr-3.0.0.jar 
    -Durl=http://10.10.202.157:8081/repository/maven-releases/ 
    -DrepositoryId=nexus-releases

在上傳這個jar時,提示如下錯誤:

Failed to transfer file: http://10.10.202.157:8081/repository/maven-releases/dwr/dwr/3.0.0/dwr-3.0.0.jar. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]

這個原因是我使用brew去安裝和更新maven,每次更新maven時就會將原來的配置給覆蓋了,導致我配置的認證資訊丟失,於是為了避免以後這種情況的發生,我在~/.m2/setting.xml中配置這些資訊:

    <server>
      <id>nexus-releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>

    <server>
      <id>nexus-snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>

備註:在deploy命令中,repositoryId的值要與這裡的id一致。

此時在執行命令便可以上傳成功。