验证 Maven 管理的依赖项
verify maven managed dependencies
maven允许你在pom文件中定义:
(A) dependencies
-> 项目的实际直接依赖
(B) dependencyManagement
/dependencies
-> 影响类别 (A) 具有未定义版本和传递依赖项的依赖项的托管依赖项。
- 如果我将 wrong/unknown artifact 放在类别 A - maven 肯定会失败。
- 如果我将 wrong/unknown 工件放在类别 B 上 - 只有当它影响类别 A 时 Maven 才会失败(例如,A 在
foo:bar
上定义 dep,B 在 foo:bar:<unknown-version>
上定义 dep .
我想知道是否有任何现有插件可以让我验证所有托管部门(B 类)- 确保它们确实存在。
我有 1 个具有服务于多个项目的 deps 管理的全局 pom 项目,我想在将新版本上传到远程存储库之前验证 CI 中对 deps 的任何更改
在 maven 依赖插件中有目标 dependency:analyze-dep-mgt
。您可以使用它来检查 pom.xml
的 dependencyManagement
部分中的依赖项。
如果您需要更深入的控制或更多功能,选项是创建您自己的插件或拥有一个虚拟项目,该项目将使用您所有的托管依赖项(尽管我应该说这是一个麻烦的解决方案)。
maven允许你在pom文件中定义:
(A) dependencies
-> 项目的实际直接依赖
(B) dependencyManagement
/dependencies
-> 影响类别 (A) 具有未定义版本和传递依赖项的依赖项的托管依赖项。
- 如果我将 wrong/unknown artifact 放在类别 A - maven 肯定会失败。
- 如果我将 wrong/unknown 工件放在类别 B 上 - 只有当它影响类别 A 时 Maven 才会失败(例如,A 在
foo:bar
上定义 dep,B 在foo:bar:<unknown-version>
上定义 dep .
我想知道是否有任何现有插件可以让我验证所有托管部门(B 类)- 确保它们确实存在。
我有 1 个具有服务于多个项目的 deps 管理的全局 pom 项目,我想在将新版本上传到远程存储库之前验证 CI 中对 deps 的任何更改
在 maven 依赖插件中有目标 dependency:analyze-dep-mgt
。您可以使用它来检查 pom.xml
的 dependencyManagement
部分中的依赖项。
如果您需要更深入的控制或更多功能,选项是创建您自己的插件或拥有一个虚拟项目,该项目将使用您所有的托管依赖项(尽管我应该说这是一个麻烦的解决方案)。