gpt4 book ai didi

maven-2 - Maven 依赖冲突

转载 作者:行者123 更新时间:2023-12-04 06:50:30 25 4
gpt4 key购买 nike

在我的项目中,有 2 个库,每个库都依赖于 XML 解析类 java.xml.parsers.DocumentBuilderFactory。这些库中的每一个都引用来自不同 jar 的文件(一个从名为 xmlParserAPIs 的 jar 获取它,而另一个从 xml-apis-1.0.b2.jar 获取它)。不幸的是,这些文件中的每一个都有不同版本的类,所以我看到运行时错误,这取决于它们的加载顺序。这两个 xml jar 都是 3rd 方库的传递依赖项。有没有好的方法来处理这个冲突?

编辑:我不确定它是否对如何处理问题有影响,但这只会发生在测试中,因为依赖项之一在测试范围内。

谢谢,
杰夫

最佳答案

(...) Unfortunately there are different versions of the class in each of these files so I am seeing runtime errors, depending on the order they are loaded.



理论上, xml-apis.jarxmlParserAPIs.jar (来自 xerces2-j)是 相同的 JAR 但名称不同, xmlParserAPIs.jar被弃用多年(见 this messagethis one )。

如果您的依赖项依赖于不同且不兼容的 xml-apis.jar 版本,我会说这些依赖项是相互排斥的,换句话说,至少对于您使用的版本是不兼容的。唯一的解决方案是找到具有收敛依赖性的版本。

如果他们可以使用兼容版本,请使用依赖项 exclusionxmlParserAPIs.jar使用 xml-api.jar只要。

I'm not sure if it makes a difference on how to handle the problem but this only happens in testing because one of the dependencies is in the test scope.



不,这只是解释了为什么您在运行时没有遇到问题(因为 test 范围不在类路径上,而且显然不冲突)。

关于maven-2 - Maven 依赖冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3190216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com