扫描多个 maven pom 以获取不同的依赖版本

Posted

技术标签:

【中文标题】扫描多个 maven pom 以获取不同的依赖版本【英文标题】:Scan multiple maven poms for different dependency versions 【发布时间】:2018-12-31 11:33:02 【问题描述】:

我有不同的 maven 项目要维护,并希望对齐使用的依赖版本。

我的目标是扫描所有 POM(它们不是必需的父/子 pom)的依赖项,如果对同一工件存在依赖项,它应该比较版本并在它们不匹配时列出它们 -这样我就可以看看是否有不同版本的原因。

是否有任何工具支持该任务 - 还是我必须自己实现一些东西?

【问题讨论】:

【参考方案1】:

您可以编写具有所需版本的 BOM(即仅包含列出具有版本的工件的依赖项管理的 pom)。现在,您可以在所有项目中导入 BOM,也可以使用 versions:compare-dependencies 将项目中的版本与 BOM 中的版本进行比较。

这不完全是您的建议,但我没有做任何更接近的事情(没有自己编写任务脚本)。

【讨论】:

在我看来,这似乎是下一步——但并非适用于所有项目(并非所有项目都通用/耦合在一起)。对我来说,首先我想知道差异/依赖版本 - 以便在不那么相关的项目中也可以整合它们。比较也可以按原样进行,因此仅在其中两个 BOM 与项目之间进行,而不是全部。但是感谢您的好提示(将 BOM 用于其他目的!)。

以上是关于扫描多个 maven pom 以获取不同的依赖版本的主要内容,如果未能解决你的问题,请参考以下文章

pom文件必须和maven版本一致吗

Maven中通过parent项目的pom维护第三方依赖

如何检查 pom.xml 以获取更新的依赖项

Maven基础2

Maven 程序集:添加同一工件的不同版本

如何删除maven中冲突的jar包