首页 > 解决方案 > 如何在复杂的 Maven 依赖树中找到同一父级的不同版本?

问题描述

我有一个具有许多依赖项的 Maven 模块。一些依赖项由我的团队管理,另一些由我的公司管理,还有一些是开源的。

当我构建这个模块时,我可以看到同一个父 pom 的许多版本被下载到我的本地存储库中:

com\my_company\parent\18\parent-18.pom
com\my_company\parent\22\parent-22.pom
com\my_company\parent\25\parent-25.pom

我的目标是尝试了解哪些依赖项引用了这些父版本。这样我就可以更新或要求人们更新他们的模块以使用最新的父级。

我想以某种方式输出类似于mvn dependency:tree -Dverbose但与父母的输出。

我试图在 maven 依赖插件中找到解决方案。我发现mvn dependency:list -DincludeParents显示父母。但这并没有说明它们在列表中的原因。

我还发现mvn dependency:resolve -D includeParents这似乎与dependency:list ...

我发现了这个有趣的插件: https ://github.com/ExampleDriven/hierarchy-maven-plugin 但它并没有显示所有的父母。它只显示定义使用的依赖版本的父级。

我也找到了这个: https ://github.com/umut/parent-checker 但我不能要求所有团队都使用这个插件。

标签: mavendependenciesparent-pom

解决方案


推荐阅读