我向 ivy.xml 添加了一个依赖项(我们将其命名为 A),该文件在 maven Central 中有一个 pom 文件。Ivy 使用 ibiblio 来解决 maven 依赖项。添加到 ivy.xml 的依赖项(A)具有传递依赖项(B)。到目前为止一切顺利。传递依赖(B)的依赖(C)不能被常春藤解析。
我在 ivy.xml 中定义 A 是这样的:
<dependency org="Z" name="A" rev="0.6-SNAPSHOT" conf="*->default"/>
在 B 的 pom 文件中,C 定义在编译和测试范围中,如下所示:
<dependency>
<groupId>X</groupId>
<artifactId>C</artifactId>
</dependency>
<dependency>
<groupId>X</groupId>
<artifactId>C</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
当我在常春藤的缓存文件(~/.ivy2/cache/X/C/ivy-0.98.8-hadoop2.xml)中查看由常春藤解析的B的xml文件时,它看起来像这样:
<dependency org="X" name="C" rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
<dependency org="X" name="C" rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
<artifact name="C" type="test-jar" ext="jar" conf="" m:classifier="tests"/>
</dependency>
由于这个原因,ivy 无法正确定义 C 作用域。作为记录,我无权修改 pom 文件,因为它们是第三方项目。我该如何解决?