Gradle下载依赖错误
Posted
技术标签:
【中文标题】Gradle下载依赖错误【英文标题】:Gradle download dependency error 【发布时间】:2014-05-02 01:22:27 【问题描述】:我正在尝试添加以下依赖项:
compile group: 'com.cedarsoft.commons', name:'test-utils', version:'5.0.9'
Gradle 下载了几个 jar,然后我收到以下错误:
POM relocation to an other version number is not fully supported in Gradle : xml-apis#xml-apis;2.0.2 relocated to xml-apis#xml-apis;1.0.b2.
Please update your dependency to directly use the correct version 'xml-apis#xml-apis;1.0.b2'.
Resolution will only pick dependencies of the relocated element. Artifacts and other metadata will be ignored.
任何想法为什么以及如何解决这个问题?
【问题讨论】:
【参考方案1】:configurations.all
resolutionStrategy
force 'xml-apis:xml-apis:1.4.01'
或使用 1.0.b2。问题是 xml-apis 的 POM 将 2.0.2(如 khmarbaise 所写)重定向到同一组和人工制品,只有版本是 1.0.b2,这以某种方式欺骗了 Gradle(或底层 Ivy)解析机制。
感谢 Mark Petrovic Gradle Forum
【讨论】:
此时 gradle 论坛链接已断开 :(【参考方案2】:如果您查看 Maven Central 中的工件并下载 pom 文件,您将得到:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>2.0.2</version>
<distributionManagement>
<relocation>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.0.b2</version>
</relocation>
</distributionManagement>
</project>
这意味着工件可以在new coordinates 下找到,这意味着您需要使用新坐标才能使用该工件。我假设您没有仅通过传递依赖项直接使用该工件。这意味着您需要用新的工件坐标覆盖传递依赖。
【讨论】:
以上是关于Gradle下载依赖错误的主要内容,如果未能解决你的问题,请参考以下文章
Android Gradle 插件Gradle 基础配置 ④ ( Gradle Wrapper 配置作用 | Gradle 下载的依赖库存放位置 )