2011-04-26 252 views
1

我的Maven構建發出一些相關信息如下:無法找到任何存儲庫的資源「com.ibm.icu:icu4j:pom:3.4.1」

[INFO] ------------------------------------------------------------------------ 
Downloading: http://repository.springsource.com/maven/bundles/release/com/ibm/icu/icu4j/3.4.1/icu4j-3.4.1.pom 
[INFO] Unable to find resource 'com.ibm.icu:icu4j:pom:3.4.1' in repository com.springsource.repository.bundles.release (http://repository.springsource.com/maven/bundles/release) 
Downloading: http://repository.springsource.com/maven/bundles/external/com/ibm/icu/icu4j/3.4.1/icu4j-3.4.1.pom 
[INFO] Unable to find resource 'com.ibm.icu:icu4j:pom:3.4.1' in repository com.springsource.repository.bundles.external (http://repository.springsource.com/maven/bundles/external) 
Downloading: http://repo1.maven.org/maven2/com/ibm/icu/icu4j/3.4.1/icu4j-3.4.1.pom 

構建並最終獲得成功,但沒有下載icu4j。然後下一次我建立完全一樣。

我發現這個very related question。我不明白的是,如果構建無法找到資源,構建如何成功?如果它最終找到它,爲什麼資源被再次下載?

我確實發現我的.m2文件夾包含一個名稱爲com/ibm/icu/icu4j/3.4.4/的文件夾,所以我推斷在我的pom結構中存在一個衝突的依賴項。

如何解決此衝突?同樣,該項目也會進行編譯,但它會嘗試在每個構建中下載文件,而且我寧願將其編譯成乾淨的。

+0

在文件夾中您是否看到過pom?如果JAR存在但不存在,它可能會成功。 – 2011-04-26 20:15:20

+0

@John V.存在jar和pom。此外,我刪除了這個文件夾並重建,問題依然存在。 – ripper234 2011-04-26 20:26:51

+0

嗯,你有沒有試過它運行調試?這是奇怪的,他們都存在,它仍然在尋找pom – 2011-04-26 20:34:33

回答

0

構建並最終獲得成功,但 而不用下載ICU4J

從它看起來像行家的消息欲從com.springsource.repository.bundles.release從先下載3.4.1版本icu4j依賴,然後com.springsource.repository.bundles.externa升最後central(默認)。

存儲庫中沒有3.4.1版本的icu4j。項目或項目中的依賴項已將此版本指定爲依賴項。因此,Maven會在每次構建時嘗試下載它。

事實證明,項目依賴3.4.4版本的icu4j,它被成功下載。 Maven使用此版本(按照依賴關係解析規則),因此構建成功。

運行mvn dependency:tree應提供誰使用哪個版本的icu4j並作出適當更改的詳細信息。

+0

不,當我做N次「mvn編譯」時,它總是打印這些消息。我只作爲分析步驟刪除了一次回購。 – ripper234 2011-04-27 06:39:00

+0

@ ripper234。我被誤導成相信3.4.1版本的icu4j從中央倉庫下載。我猜INFO消息不完整。鑑於此,我已經更新了答案。 – Raghuram 2011-04-27 07:15:36