2013-02-19 27 views
0

這可能會通過Nexus配置來解決。2個maven軟件倉庫中存在的神器 - 版本庫衝突

我們使用maven進行hadoop開發。將Nexus配置爲所有存儲庫的鏡像,並將存儲庫添加到nexus公共組中。 (見Is there better way of configuring repositories in Nexus?

我發現Hadoop的核心工件版本1.0.4被示出爲來自彈簧袋鼠-庫http://spring-roo-repository.springsource.org/release/ 的Nexus僅示出了POM繳費,althow我經由瀏覽器路徑/關係/內容/組看到罐/public/org/apache/hadoop/hadoop-core/1.0.4/

如何讓hadoop-core來自Maven Central?

Nexus screnshot

+1

您是否運行過構建請求hadoop構件?搜索結果不一定是可用的所有內容,它只是索引中的內容。如果您的中央代理沒有設置爲下載索引,則在您實際觸發Nexus下載之前,您不會找到帶有搜索的工件。 – nabcos 2013-02-19 08:38:25

+0

當我完成Nexus服務器的設置時,我發現很多人在啓用遠程索引時遇到了麻煩。我不知道這是否已經修復,但禁用它可能會更安全。 – 2013-02-19 11:50:20

回答

0

在這種情況下,一種解決方案是配置2個不同的代理,並在你的settings.xml(和/或)POM這2個代理的引用。

然後,您可以控制至少用於搜索依賴關係的訂單

這樣做對於以這種方式分離彈簧回購很有用,因爲Spring有一個令人討厭的(IMO)重複依賴關係的習慣(有時候使用不同的groupId或artefactId,但並不總是如此)。

0

請確保Maven Central Proxy存儲庫在公共組中的Spring-Roo-Repository之前訂購。

這是購自Nexus文檔Managing Groups

注意,爲了集團 庫中列出的庫的順序是非常重要的。當Nexus在 組中搜索工件時,它將返回第一個匹配項。要重新排列此 列表中的存儲庫,請單擊並拖動訂購的 組存儲庫選擇列表中的存儲庫和組。

+0

它一直是。 – 2013-02-22 02:28:50