2009-06-16 112 views
2

我已經問了一個類似的問題,其中的部分內容已經解決,但我想更詳細地進行擴展。Maven存儲庫配置

當配置maven來查看內部存儲庫時,最好是將這些信息放到項目pom中還是放在用戶的settings.xml中?解釋爲什麼在這裏真的很有幫助。

感謝,

傑夫

回答

0

我們使用用戶的settings.xml,包括在什麼可能需要其他可能的回購自述信息。

從理論上講,無論從哪個回購來源,給定的羣件神器版本都是一樣的。它適合我們。如果您發現自己擁有兩個具有相同羣組工件版本標識符的不同資產,則表明您正在做的事情非常糟糕。

3

我鼓勵您將存儲庫定義放在POM中,這樣任何開發人員只需抓取代碼副本並運行Maven即可編譯,無需在其設置文件中更改內容。

我找到Setting.xml的文件只是黑客 Maven的在特殊情況下的行爲非常有用,例如,當一個存儲庫不可訪問,由於防火牆,你需要使用鏡像。但這是我個人的看法。 Maven的文檔,可以更自由:

在 settings.xml文件中的設置元素包含元素 用來定義各種方式配置 Maven的執行,像 pom.xml中值,但不應該是捆綁 到任何特定的項目,或 分發給觀衆。這些 包括諸如本地 存儲庫位置,備用遠程 存儲庫服務器和身份驗證 信息的值。

如果您有用於在每一個項目中,您可以添加在的settings.xml本地倉庫,僅僅是一定的配置是有據可查的,在我目前的項目是不是和新的開發奮鬥在開始時他們試圖編譯一些東西。

3

您應該始終嘗試製作maven項目,以便它可以從本地環境中的源代碼管理的乾淨檢出編譯;沒有settings.xml。在我看來,這意味着您可以將任何覆蓋設置爲用戶的settings.xml文件中合理的默認值。但是pom應該包含適合每個人的明智價值觀。

+0

謝謝!我想將我的存儲庫信息保留在父pom中,但是我有點猶豫是否使用父pom的相對路徑,因爲這需要用戶也檢出父項目。但是,如果我不使用相對路徑,那麼每個項目的POM都必須具有回購信息,以便至少可以找到父POM。你之前有過處理嗎? – 2009-06-16 18:52:08