使用 IVY 排除交叉依赖 jar 获取

Excluding cross-dependencies jar fetching using IVY

我的项目对 xerces jar 有特定要求,只能使用“2.9.1-patch-01”,但其他 IVY 条目由于交叉依赖性而获取最新版本的 xerces 2.11,因此执行失败。

IVY.xml:

<dependency org="xerces" name="xercesImpl" rev="2.9.1-patch-01"/>
<dependency org="org.seleniumhq.selenium" name="selenium-java" rev="3.5.1"/>
<dependency org="org.seleniumhq.selenium" name="selenium-server" rev="3.5.1"/>

已尝试 IVY.xml(使用排除但没有成功):

1.

<dependency org="xerces" name="xercesImpl" rev="2.9.1-patch-01"/>
<dependency org="org.seleniumhq.selenium" name="selenium-java" rev="3.5.1"> <exclude org="xerces" module="xerces"/> </dependency>
<dependency org="org.seleniumhq.selenium" name="selenium-server" rev="3.5.1"> <exclude org="xerces" module="xerces"/> </dependency>

2.

<dependency org="xerces" name="xercesImpl" rev="2.9.1-patch-01"/>
<dependency org="org.seleniumhq.selenium" name="selenium-java" rev="3.5.1"> <exclude org="xerces" name="xercesImpl"/> </dependency>
<dependency org="org.seleniumhq.selenium" name="selenium-server" rev="3.5.1"> <exclude org="xerces" name="xercesImpl"/> </dependency>

3.

<dependency org="xerces" name="xercesImpl" rev="2.9.1-patch-01"/>
<dependency org="org.seleniumhq.selenium" name="selenium-java" rev="3.5.1"> <exclude org="xerces" name="*xerces*"/> </dependency>
<dependency org="org.seleniumhq.selenium" name="selenium-server" rev="3.5.1"> <exclude org="xerces" name="*xerces*"/> </dependency>

如何排除在 IVY 中获取 xerces 2.11?如何阻止获取 2.11 并始终使用 2.9.1-patch-01 修订版?

force 设置为 true 就可以了,所以您需要做的就是将第一行设置为

<dependency org="xerces" name="xercesImpl" rev="2.9.1-patch-01" force="true"/>

并且您可以删除所有 exclude