2013-02-21 316 views
8

在我的POM文件,我指定兩個資源庫:從Maven的文檔Maven的:倉庫ID的意思

<repositories> 
    <repository> 
     <id>myid</id> 
     <url>http://url1</url> 
    </repository> 
    <repository> 
     <id>myid</id> 
     <url>http://url2</url> 
    </repository> 
</repositories> 

所以,我得到的印象是id元素應該交叉引用了settings.xmlserver條目,指定認證信息。在我的情況下,http://url1http://url2都需要相同的認證數據;這就是爲什麼我對兩者都使用相同的id

不過,Maven抱怨說,id元素必須是唯一的。

什麼給? id元素的目的究竟是什麼?我知道(當然),Maven使用它來獲取認證數據 - 這就是爲什麼事情工作時,我只指定一個存儲庫。爲什麼我必須複製我的驗證數據?我錯過了什麼?

+0

[正如這裏所說](http://maven.apache.org/settings.html#Servers)它看起來像Maven將每個存儲庫與一個服務器條目鏈接起來。看起來您必須創建兩個服務器條目,但您不必重複您的憑據,只需將它們設置爲屬性並將它們用於每個條目。 – 2013-02-21 21:00:27

+0

@XtremeBiker,'settings.xml'內定義的屬性只在配置文件的上下文中。由於某些原因,這些屬性不會擴展到'server'元素。 – Isaac 2013-02-21 21:07:32

回答

6

ID必須是唯一的。在settings.xml中使用2個登錄配置。

+2

嗯。我認爲這是一個設計缺陷。有人忘了規範一些東西。但是,謝謝。 – Isaac 2013-02-22 04:57:57

+0

看起來更多,他們應該是唯一的,但不必:https://stackoverflow.com/questions/21836539/sonatype-nexus-how-to-set-a-single-server-credentials-for-multiple-repositories? RQ = 1 – Robert 2017-07-14 13:12:04