0

因此,当我遇到如下依赖冲突时:

我的 pom 想要 A,并且向下几个级别拉入 X 版本 3.0。这就是我想要的 X。

我的 pom 也想要 B,然后再往下几级,它就会引入 X 2.0 版;我不想要。

由于默认的 Maven 依赖解析,2.0 版获胜。

请注意,A、B 和 X 是第 3 方库,因此我无法控制它们。

现在,我已经看到了两种处理方法:

1) 只需将 X 版本 3.0 作为依赖项添加到我的 pom 中。2) 为 B 添加一个“排除”,以排除 X。

哪个更好?为什么?或者它是那些“它取决于”之一?

4

1 回答 1

1

这取决于 :)

  • 如果您需要X您的代码正常工作(您正在使用代码中的一些类X),请直接添加X到您的 pom.xml 中。通过这样做,您清楚地表明了这一事实。
  • 如果您需要X代码工作(仅在运行时需要),则只需将其排除B并保留在A.
于 2013-11-06T05:54:09.460 回答