Gradle下载依赖性错误

时间:2014-03-24 15:25:08

标签: maven build gradle

我试图添加以下依赖项:

compile group: 'com.cedarsoft.commons', name:'test-utils', version:'5.0.9'

Gradle下载几个罐子,然后我收到以下错误:

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.

任何想法为什么以及如何解决这个问题?

2 个答案:

答案 0 :(得分:17)

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(或底层常春藤)解析机制。

归功于Mark Petrovic Gradle Forum

答案 1 :(得分:7)

如果您查看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下找到工件,这意味着您需要使用新坐标来使用该工艺。我假设您不直接仅通过传递依赖使用该工件。这意味着您需要使用新的工件坐标覆盖传递依赖。