2013-07-06 37 views
6

採摘用戶名庫我有這個在我的〜/ .m2目錄/ settings.xml中:行家不是從settings.xml的

<servers> 
    <server> 
     <username>deployment</username> 
     <password>xxxxxx</password> 
     <id>central</id> 
    </server> 
    <server> 
     <username>deployment</username> 
     <password>xxxxxx</password> 
     <id>snapshots</id> 
    </server> 
</servers> 

而這在我的POM:

<distributionManagement> 
    <repository> 
     <id>central</id> 
     <name>libs-release-local</name> 
     <url>http://repo.example.com:8081/nexus/content/repositories/libs-release-local</url> 
    </repository> 
    <snapshotRepository> 
     <id>snapshots</id> 
     <name>libs-local</name> 
     <url>http://repo.example.com:8081/nexus/content/repositories/libs-local</url> 
    </snapshotRepository> 
</distributionManagement> 

的我面臨的問題是工件未部署,連結日誌顯示用於驗證的用戶名是「匿名」。這就是它失敗的原因。爲什麼不選擇在settings.xml中指定的用戶名/密碼,我做錯了什麼?

另外,我曾嘗試運行Maven與-X和調試日誌說,它的閱讀設置正確的文件:

[DEBUG] Reading global settings from /home/praddy/apache-maven-3.0.5/conf/settings.xml 
[DEBUG] Reading user settings from /home/praddy/.m2/settings.xml 
[DEBUG] Using local repository at /home/praddy/.m2/repository 
+1

您是否已驗證settings.xml是否真的被使用?嘗試「mvn help:effective-settings」。這會在maven看到它時打印settings.xml。 –

+0

是的,它正確地打印部分。 – praddy

+0

此外,'mvn help:effective-pom'正確顯示部分,正確的是。但它不顯示部分,我認爲它不應該顯示,請糾正我,如果我在這裏錯了。 – praddy

回答

2

如果回購與基本驗證保護,你可以給這個一展身手:

添加到您的settings.xml

<servers> 
    <server> 
     <!-- Link this id here to the repo ID --> 
     <id>central</id> 
     <configuration> 
      <httpHeaders> 
       <property> 
        <name>Authorization</name> 
        <value>Basic ZGVwbG95bWVudDp4eHh4eHg=</value> 
       </property> 
      </httpHeaders> 
     </configuration> 
    </server> 
</servers> 

你可以得到value部分:

curl -v --user deployment:xxxxxx http://repo.example.com:8081/nexus/content/repositories/libs-release-local 2>&1 | grep Authorization 

應該產生類似的輸出,其中:

> Authorization: Basic ZGVwbG95bWVudDp4eHh4eHg= 
1

如果您在settings.xml中配置鏡像,你必須使用鏡子的ID在服務器中的元素。

<servers> 
    <server> 
     <id>MIRROR-ID</id> 
     <username>...</username> 
     <password>...</password> 
    </server> 
</servers> 

... 

<mirrors> 
    <mirror> 
     <id>MIRROR-ID</id> 
     <name>...</name> 
     <url>...</url> 
     <mirrorOf>*</mirrorOf> 
    </mirror> 
</mirrors>