2013-07-06 22 views
6

gelen depo için adı seçme değil benim ~/.m2/settings.xml içinde bu var:maven 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> 

Ve bu benim 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> 

The Karşılaştığım sorun, yapıtın dağıtılmaması ve nexus günlüklerinin kimlik doğrulaması için kullanılan kullanıcı adının "anonim" olduğunu göstermesidir. Ve bu yüzden başarısız oluyor. Neden mavenler settings.xml dosyasında belirtilen kullanıcı adını/şifreyi seçmiyor, yanlış bir şey yapıyorum?

Ayrıca, -X ile çalışan maven denedim ve DEBUG günlüğü, ayarları için doğru dosyayı okuma söylüyor: repo BasicAuth korunuyorsa

[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'nin gerçekten kullanıldığını doğruladınız mı? "Mvn help: etkili ayarlar" ı deneyin. Bu, maven'in gördüğü gibi settings.xml dosyasını yazdırır. –

+0

Evet, bölümünü doğru şekilde yazdırır. – praddy

+0

Ayrıca, 'mvn help: effective-pom', bölümünü doğru olarak gösterir, doğru olan 's. Ama yine de göstermemesi gerektiğini düşündüğüm bölümünü göstermiyor, eğer burada yanılıyorsam lütfen beni düzeltin. – praddy

cevap

2

, bu gitmek verebilir:

Sen ile value bölümünü alabileceğiniz 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> 

yere ekleyin:

benzer çıkışı neden olmalıdır
curl -v --user deployment:xxxxxx http://repo.example.com:8081/nexus/content/repositories/libs-release-local 2>&1 | grep Authorization 

: Eğer settings.xml bir ayna yapılandırırsanız

> Authorization: Basic ZGVwbG95bWVudDp4eHh4eHg= 
1

sunucu elemanda aynanın id kullanmak zorunda.

<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>