【问题标题】:Maven: dependency:tree gives wrong results if outputType is graph and project contains multiple modulesMaven:如果 outputType 是图形并且项目包含多个模块,则依赖关系:树会给出错误的结果
【发布时间】:2015-02-04 16:33:27
【问题描述】:

我的项目结构如下:

  1. 包含外部依赖项的父 POM [位于项目之外]

  2. MAIN POM,它是PARENT POM的一个子,它包含一组子模块[它位于项目的根文件夹]

  3. 子模块,每个都是 MAIN POM 的子模块,[根文件夹内的一组文件夹]

我想为我的项目创建一个依赖关系图。为此,我想用

打印依赖数据
 mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:tree

-DoutputFile=deps.tgf -DoutputType=tgf -DappendOutput=true

然后用一些编辑器打开生成的文件。

问题是我的方法只适用于由一个 POM 形成的简单项目。就我而言,它失败了。

简单

mvn 依赖:树

按预期工作并显示所有依赖项,包括子模块。但是,当我尝试使用 outputFile=text 参数创建我的依赖树时,正如我在上面所写的,它失败了。它仅获取我在其上运行命令的 Pom 的依赖项,即在我的情况下为 MAIN POM。缺少子模块!

有办法解决吗? 实际上,它看起来像是 Maven 中的一个错误:mvn dependency:tree 工作正常,而mvn dependency:tree -DoutputFile=text 产生逻辑错误的结果。

更新

我发现会发生什么。它只是将依赖文件存储在子项目中! IE。如果我有 childProject 这是 MAIN POM 中的一个模块 - Maven 在这个项目中创建 outputFile.txt !它不会聚合文件。除了编写脚本之外,我不确定我可以用它做些什么。

【问题讨论】:

  • 这不起作用 mvn dependency:tree > tree.txt 吗?
  • 它有效。但实际上我需要 outputType=tgf 来生成依赖方案。
  • @MiamiBeach 你有没有找到解决这个问题的方法?

标签: maven maven-dependency-plugin


【解决方案1】:

我在How to get Maven dependencies printed to a file in a readable format?找到了解决方案

只需添加 -DappendOutput=true

喜欢这个

 mvn dependency:tree -Doutput=/path/to/file -DappendOutput=true

【讨论】:

    猜你喜欢
    • 2020-09-05
    • 2013-06-15
    • 1970-01-01
    • 2020-12-22
    • 2018-01-09
    • 2014-03-29
    • 2021-02-21
    • 2019-11-17
    • 2011-07-07
    相关资源
    最近更新 更多