如何解决如何确保我不通过两个 Maven 依赖项包含重复的传递依赖项?
我正在寻找一种方法来测试我的 pom.xml 引用中的任何显式依赖项/是否包含任何相同的传递依赖项。例如,如果 dependency-A
包含 junit.jupiter
并且 dependency-B
也包含 junit.jupiter
,我想要一种查看它的方法,以便我可以将它从其中一个中排除以防止冲突。
我通过 this link 了解到您可以使用 mvn dependency:tree
基本上显示所有依赖项及其传递依赖项,但它以相当不可读的格式打印,并且通过该输出不清楚源是什么每个传递依赖是。
解决方法
请注意,如果依赖项 A 使用 junit.jupiter
,依赖项 B 使用 junit.jupiter
,则将仅包含这些依赖项之一。 Maven 不会两次包含相同的依赖项。
不过,可能会很棘手的是生成的版本。 Maven 采用“最近的”元素,而不是最高版本。如果你想注意你是否有版本冲突,我推荐maven执行者规则的“依赖收敛”规则。
如果您想为 junit.jupiter
选择一个版本,请在您的 POM 中向 <dependencyManagement>
添加一个条目。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。