我终于习惯了在我的项目中没有任何已使用的未声明或未使用的已声明依赖项。尽管很难跟踪在依赖项中列出的未使用声明的运行时/测试依赖项:分析... 只需要在 pom.xml 中为它们写注释或以其他方式管理它们以了解测试或运行时需要它们。
但是解决版本冲突的方法我仍然不清楚。关于传递依赖。
最近获胜策略如何运作?什么时候使用一个版本而不是另一个版本?
如果您使用版本号声明 Used 未声明的依赖项 - 它总是获胜
如果没有明确指定依赖版本,Maven 无法解决任何可能出现的关于此依赖的版本冲突(很奇怪,但写在这里)
如果您没有声明未声明的已使用依赖项,它会从最接近的级别(最近获胜策略)中选择一个传递依赖项,如果冲突处于同一级别,那么它会以某种方式在版本 A 和版本 B 之间做出决定……也许是第一个处理依赖项时的一个胜利