为什么Eclipse Maven说相同版本的依赖项是冲突的?

tob*_*bii 9 java eclipse m2eclipse maven

当我在依赖树中多次列出一个依赖项时,即使该依赖项的所有版本都相同,Eclipse也会说(在POM的Dependency Hierarchy选项卡中)除了一个之外的所有版本都是"(与XXX冲突时省略) )".组ID,工件ID和版本都是相同的.

这是一个随机选择依赖的简单示例.注意maven-model和maven-artifact.

maven-core依赖冲突相同的版本

我正在使用Eclipse Mars(4.5.0)

除了UI中的误导性消息之外,这似乎对任何事情都没有任何影响.在整个地方看到"因冲突而被忽略......"真是太烦人了,特别是如果我想看到真正的冲突.

Tun*_*aki 10

Eclipse的"Dependency Hierarchy"选项卡由M2Eclipse插件填充.并且,不幸的是,它似乎在M2Eclipse插件源代码中是硬编码的.无论遗漏依赖的原因是什么(重复,版本冲突......),M2Eclipse插件将添加标签"省略与冲突".

请注意,这不是tree目标的情况maven-dependency-plugin,此选项卡模拟输出.默认情况下,该命令mvn dependency:tree不会显示已省略的依赖项.如果该verbose标志设置为true,则输出将显示省略的每个依赖项:是另一个的副本; 与另一个版本和/或范围相冲突; 并将一个循环引入依赖树.

我找不到这个bug,所以你可以通过他们的Bugzilla提交增强请求,要求插件更多地附加输出dependency:tree(例如显示省略依赖的真正原因,而不是当前默认值并添加一个选项以在详细模式和非详细模式之间切换.