无法在任何存储库中找到资源“com.ibm.icu:icu4j:pom:3.4.1”

时间:2011-04-26 20:11:02

标签: java maven-2 maven

我的maven build会发出如下几个INFO:

[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结构中某处有一个冲突的依赖。

如何解决此冲突?同样,该项目确实编译,但它尝试在每个构建上下载文件,我宁愿让它干净地编译。

1 个答案:

答案 0 :(得分:0)

  

构建最终会成功,但是   没有下载icu4j

在消息中,maven似乎首先从3.4.1下载icu4j版本的com.springsource.repository.bundles.release依赖项,然后com.springsource.repository.bundles.externa l,最后从central下载(默认)。

存储库中没有3.4.1版本的icu4j。项目或项目中的依赖项已将此版本指定为依赖项。因此,maven每次构建时都会尝试下载它。

随着转向,3.4.4 icu4j版本的mvn dependency:tree版本会成功下载。 Maven使用此版本(根据依赖项解析规则),因此构建成功。

运行{{1}}应该详细说明谁使用了哪个版本的icu4j并进行了适当的更改。