如何避免从自冲突模块中手动重新导入传递依赖项

时间:2019-01-30 01:27:38

标签: maven transitive-dependency maven-enforcer-plugin

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

1 个答案:

答案 0 :(得分:3)

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

它还将满足强制实施程序插件的“依赖关系收敛”规则。

请注意,Maven将始终只加载同一库的一个版本-如果发现不同版本,它将使用依赖项解析机制。但是,最好通过dependencyManagement解决冲突。