当我在我的依赖关系树中多次列出一个依赖关系时,即使该依赖关系的所有版本都相同,Eclipse 也会说(在 POM 的“依赖关系层次结构”选项卡中)除了一个是“(省略了与 X.X.X 冲突)”。组 ID、 Artifact ID 和版本都将相同。
这是一个随机选择依赖项的简单示例。注意 maven-model 和 maven-artifact。
我正在使用 Eclipse Mars (4.5.0)
除了 UI 中的误导性消息之外,这似乎对任何事情都没有任何影响。到处都看到“因冲突而被遗漏……”真是令人讨厌,尤其是当我想看到真正的冲突时。
最佳答案
Eclipse 的“依赖层次结构”选项卡由 M2Eclipse 插件填充。而且,不幸的是,这似乎是在 M2Eclipse 插件中硬编码的 source code .无论省略依赖项的原因是什么(重复、版本冲突...),M2Eclipse 插件都会添加标签“因冲突而省略”。
请注意,tree
不是这种情况。 maven-dependency-plugin
的目标,此选项卡从中模仿输出。默认情况下,命令 mvn dependency:tree
不会显示省略的依赖项。如果verbose
flag 设置为 true
,则输出将显示因以下原因而省略的每个依赖项: 是另一个的副本;与他人的版本和/或范围冲突;并在依赖树中引入循环。
我找不到这方面的错误,因此您可以提交增强请求,through their Bugzilla , 要求插件更多地遵守 dependency:tree
的输出(例如显示省略依赖项的真正原因,而不是当前默认值)并添加一个选项以在详细和详细之间切换不是详细模式。
关于java - 为什么 Eclipse Maven 说相同版本的依赖项有冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32976795/