如何避免自冲突模块手动重新导入传递依赖关系



模块有一个糟糕的依赖项,它依赖于同一库的多个版本。此库未被任何其他依赖项使用。如果我只是排除库来解决版本冲突,那么我显然需要在每个子模块中导入库。这既不方便,也容易出错。是否可以排除特定版本?我知道exclude标签不支持版本,但可能有变化。

使用<dependencyManagement>设置库的版本。这可以在父pom中完成。此版本将覆盖依赖关系树中遇到的所有版本。

它还将满足执行器插件的"依赖收敛"规则。

请注意,Maven总是只加载同一库的一个版本——如果它找到不同的版本,它将使用依赖项解析机制。不过,通过dependencyManagement自己解决冲突要好得多。

最新更新