【问题标题】:How can you display the Maven dependency tree for the *plugins* in your project?如何在项目中显示 *plugins* 的 Maven 依赖关系树?
【发布时间】:2011-10-27 19:46:57
【问题描述】:

一个常见的 Maven 调试技术是使用mvn dependency:tree 来查看项目依赖关系图。

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

【问题讨论】:

  • 你试过运行 mvn -X ...
  • 是的,这对某些问题很有帮助,但不是我想要的。
  • 它包含插件的依赖关系,否则没有可用的东西。
  • @khmarbaise 是正确的。插件的依赖树在 Maven 的调试输出中可用。我也不知道有什么方法可以得到它。 (如果你把它变成一个答案,我会投赞成票。)

标签: java plugins maven


【解决方案1】:

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

更新 您可以使用以下命令获取插件依赖项列表(resolve-plugin goal from dependencies plugin):

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

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

mvn dependency:resolve-plugins

【讨论】:

  • resolve-plugins 不只是输出依赖树......它似乎重新下载了所有的包。不理想。
  • 插件不尊重 pom.xml 中的覆盖插件依赖项(标记 <build><plugins><plugin><dependencies><dependency>
  • 使用最后一个插件版本:mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:resolve-plugins
  • 默认情况下,maven 加载依赖插件版本 2.something。我个人在使用 3.x 版本时获得了更好的结果。
【解决方案2】:

如果您使用任何 IDE,例如 IDEA IntelliJ 或 Eclipse:

  • 您可以在 pom.xml 中添加以下插件
  • 完成后,在 Maven 窗口(IDE 右侧)上,您会发现一个名为 依赖项
  • 展开它,你会看到依赖:树目标,双击 在上面运行它,你应该会看到完整的依赖树

要在 POM 中添加的插件:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

【讨论】:

    猜你喜欢
    • 2015-07-19
    • 2014-05-23
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2017-09-20
    • 2016-06-05
    相关资源
    最近更新 更多