2011-11-14 40 views
5

Maven的依賴庫我有很大的依賴性的項目投入了大量遠程倉庫,甚至那些依賴有時需要其他遠程倉庫。代理都通過內部的Nexus

我想創造一個穩定的編譯環境,我想我的本地的Nexus安裝代理項目的所有要求,這樣我就可以重現建立沒有去到互聯網後,我的一切設置一次。

即,我.m2/settings.xml將包含:

<mirrors> 
    <mirror> 
     <id>my.public</id> 
     <url>http://localhost:8081/nexus/content/groups/public</url> 
     <mirrorOf>*</mirrorOf> 
    </mirror> 
</mirrors> 

但當然這是不夠的。 Nexus不會任意代理從我的maven安裝中獲得的每一個請求。

目前據我所知,這是我得到了它的工作,爲每一個遠程倉庫我遇到,我創建的Nexus的代理,並把它添加到公共組。

在我的情況,這些是像15個或20的遠程存儲庫。他們大多數是我的包的進一步依賴,即不明顯,我需要他們,直到我運行一個maven構建,並打他們。到目前爲止,我發現他們大多在父母POM中被引用。

我的問題:有沒有辦法來配置的Nexus不知何故,所以我不需要有手工添加所有版本庫?

當我重新閱讀我的問題,這聽起來我想一個真正的HTTP代理,但什麼樣的Nexus點呢?當然這是一個修辭問題,但是如何在不手動添加所有這些問題的情況下解決這個問題?

所有我Nexus的文檔中找到爲http://www.sonatype.com/books/nexus-book/reference/config-sect-custom.html

...你可能會遇到哪些是無法從當地的Nexus安裝取回文物項目

...將此存儲庫添加到Nexus作爲新的代理存儲庫,然後將新的代理存儲庫添加到公共組

回答

2

不,我知道的。正因爲如此,我們目前通過Nexus安裝鏡像了30-40個存儲庫。我們在settings.xml中使用類似的鏡像語句強制每個人使用我們的回購作爲一站式商店。但是,我們確實(通過策略)強制開發人員不會將項目庫中的pom文件添加到存儲庫中。相反,他們提交請求以添加代理。