Maven:查找非托管依赖关系

问题描述:

Maven依赖关系可以被“托管”(版本由dependencyManagement条目定义)或“非托管”(版本由Maven依赖关系中介决定)。Maven:查找非托管依赖关系

我想找到我的构建中的所有非托管依赖关系,并警告他们。这怎么可能实现?

+1

会在您的总体目标中提供http://maven.apache.org/enforcer/enforcer-rules/requireUpperBoundDeps.html或http://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html帮助吗? – GauravJ

maven-dependency-plugin有几个分析目标可能有帮助。从documentation(3.0.0插件版本):

  • 依赖性:分析分析了该项目的依赖,并确定它们是:使用,并宣布;使用和不申报;未使用和宣布。
  • 依赖关系:analyze-dep-mgt分析您的项目依赖项并列出已解决的依赖项与dependencyManagement部分中列出的依赖项之间的不匹配项。
  • 依赖关系:仅分析与分析相同,但意味着要绑定在一个pom中。它不会构建并执行测试编译。
  • 依赖关系:analyze-report分析此项目的依赖关系并生成一个报告,其中汇总了哪些是:使用和声明;使用和不申报;未使用和宣布。
  • 依赖关系:analyze-duplicate分析pom.xml中的和标记,并确定重复声明的依赖关系。

根据您对该用例的描述,我会首先尝试dependency:analyze-dep-mgt