如何在项目中显示* plugins *的Maven依赖树?


130

Maven常用的调试技术是使用mvndependency:tree查看项目依赖关系图。

但是,此列表显示项目依赖关系,而不是每个插件的插件依赖关系树。从项目中可以做到这一点吗?


1
您是否尝试过运行mvn -X ...
khmarbaise 2011年

是的,这对某些问题很有帮助,但对我要的不是。
亚历克斯·米勒

它包含插件的依赖项,否则没有可用的东西。
khmarbaise 2011年

@khmarbaise是正确的。插件的依赖关系树在Maven的调试输出中可用。我也不知道另外一种获取方式。(如果您将其变成答案,我会投票赞成。)
Ryan Stewart

Answers:


102

通过mvn -X的输出将间接打印出信息。当前没有其他选择来获取Maven-Plugin的依赖项。

更新 您可以使用以下命令来获取插件依赖项列表(依赖项插件中的resolve-plugin目标):

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:resolve-plugins

较短的版本是(并且指定插件版本是一个坏习惯)

mvn dependency:resolve-plugins

14
resolve-plugins不仅输出依赖关系树,而且似乎重新下载了所有软件包。不理想。
Reinderien

5
插件不尊重pom.xml(标签<build><plugins><plugin><dependencies><dependency>)中的主要插件依赖关系
2015年

使用最近的插件版本:mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:resolve-plugins
STB Land

默认情况下,maven加载依赖插件版本2.something。就个人而言,在使用3.x版本时,我设法获得了更好的结果。
Dragas

-3

如果您正在使用任何IDE(例如IDEA IntelliJ或Eclipse):

  • 您可以在pom.xml中添加以下插件
  • 完成后,在Maven窗口(IDE右侧)上,您将找到一个名为Dependencies的新插件。
  • 展开它,您将看到dependency:tree目标,双击并运行它,您应该看到完整的依赖树

要在POM中添加的插件:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.