查找版本 Maven 插件指示的过时依赖项的来源

问题描述 投票:0回答:1

在我的 Maven 项目(包含子项目的聚合项目)中,我为 Versions Maven Plugin 发出以下命令:

mvn versions:display-dependency-updates

有一些过时的依赖项,我不确定它们来自哪里:

[INFO] The following dependencies in Dependency Management have newer versions:
[INFO]   biz.aQute.bnd:biz.aQute.bnd.annotation ................ 6.4.1 -> 7.0.0
[INFO]   org.mockito:mockito-inline ............................ 4.8.1 -> 5.2.0

不幸的是,尽我所能,我找不到哪个库引用了这些。我已经在根项目和子项目中使用 Maven Dependency Plugin 尝试了以下操作:

mvn dependency:tree

输出均未提及

biz.aQute.bnd:biz.aQute.bnd.annotation
org.mockito:mockito-inline

两名嫌疑人是:

  • com.amazonaws:aws-lambda-java-log4j2:1.6.0
    org.apache.logging.log4j:log4j-bom:2.21.1
    (对于
    biz.aQute.bnd:biz.aQute.bnd.annotation
  • com.fasterxml.jackson:jackson-bom:2.15.3
    (对于
    org.mockito:mockito-inline

但这些只是基于我在出现这些过时依赖项的子项目中进行的额外依赖项管理的怀疑。

我可以使用任何命令来找出哪个依赖项引入了版本 Maven 插件列出的过时依赖项吗?

java maven maven-dependency-plugin versions-maven-plugin
1个回答
0
投票

Maven 用户邮件列表中的某人向我指出了 Maven Help Plugin,它有一个

effective-pom
目标和
verbose
选项。我已经知道有效的 POM,但我没有意识到目标有一个
verbose
选项

mvn help:effective-pom -Dverbose=true

这使我能够对各个依赖项以及每个来自的 POM 进行有效的依赖项管理,甚至包含行号。

尾声:原来

biz.aQute.bnd:biz.aQute.bnd.annotation:6.4.1
来自
org.apache.logging:logging-parent:10.1.1
。并且
org.mockito:mockito-inline:4.8.1
正在进入,因为我忘记了我自己的一个库 😊 尚未更新以使用我较新的根 POM(管理测试库的版本)。

© www.soinside.com 2019 - 2024. All rights reserved.