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

标签 java maven-2 maven

我的 Maven 构建会发出几个这样的信息:

[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结构。

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

最佳答案

The build does eventually succeed, but without ever downloading icu4j

从消息来看,maven 尝试首先从 com.springsource.repository.bundles.release< 下载 icu4j 依赖项的 3.4.1 版本,然后是 com.springsource.repository.bundles.external,最后来自 central(默认)。

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

事实证明,项目依赖于 icu4j3.4.4 版本,该版本已成功下载。 Maven 使用此版本(根据依赖关系解析规则),因此构建成功。

运行mvn dependency:tree应该给出谁使用哪个版本的icu4j的详细信息并进行适当的更改。

关于java - 无法在任何存储库中找到资源 'com.ibm.icu:icu4j:pom:3.4.1',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5795864/

相关文章:

maven-2 - JAVA_HOME 被 Maven 破坏

java - 我可以添加打包为 .jar 以外的任何内容的 Maven 依赖项吗?

java - 单击回收器 View

java - Http post 请求 NullPointerException OutputStream

java - 在处理具有 1 亿个元素的 ArrayList 时提高速度和内存消耗

java - 如何确定文本文件中的藏宝图(行和列)有多大?

maven-2 - 将存储库添加到 Nexus 但仍未找到工件

java - Maven jetty 插件和资源目录

Java:如何从 maven 故障安全插件访问元文件信息?

java - 没有 'java.util.Set<javax.persistence.EntityManager> 类型的合格 bean