使用 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
。
我的项目对 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
。