所以当我有如下的依赖冲突时:
我的pom想要A,并且在X版本3.0中有几个级别。这是我想要的X.
我的pom也想要B,并且在X版本2.0中有几个级别。我不想要。
由于默认的maven依赖关系解析,版本2.0获胜。
请注意,A,B和X是第三方库,所以我无法控制它们。
现在,我已经看到了两种解决方法:
1)只需将X版本3.0作为依赖项添加到我的pom中。 2)在B中添加“排除”,以排除X.
哪个更好,为什么?或者它是“它取决于”的其中之一?
答案 0 :(得分:1)
取决于:)
X
代码才能运行(您在代码中使用了X
中的某些类),请添加X
直接到你的pom。通过这样做,你可以清楚地表明这一事实。X
才能运行(仅在运行时需要),那么只需将其从B
中排除并保留在{{1}中}}。