【问题标题】:Looking for a way to visualize dependency structure of my multi-module pom project寻找一种方法来可视化我的多模块 pom 项目的依赖结构
【发布时间】:2026-02-11 07:10:01
【问题描述】:

我有一个相当大的项目(约 30 个模块)并且想要可视化模块间的依赖关系,不包括第 3 方。

似乎现有工具根本无法处理 maven reactor。 maven 依赖插件(dependency:tree 目标)知道如何生成 graphml,但仅限于每个模块。如果我使用 append 标志,它只是将所有内容推送到一个文件中,因此输出是损坏的 graphml。

我也找到了this tool,但是好像没办法控制模块粒度。

我最后的手段是解析dependency:tree的输出,但我想在此之前我会咨询社区。​​p>

【问题讨论】:

标签: java maven maven-3 maven-dependency-plugin dependency-graph


【解决方案1】:

我喜欢depgraph-maven-plugin 来可视化多模块项目中的依赖关系。要为您的模块获取文本格式的聚合结果(如 dependency:tree),请使用:

mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DgraphFormat=text -Dincludes=myGroupId

include 的语法与maven-dependency-plugin includes 相同。

它有很多properties to customize the result/behavior。我更喜欢将它与graphviz 一起使用,因此我可以使用(默认)图形格式dot 并让它在target 文件夹中创建一个png 文件:

mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DcreateImage -Dincludes=myGroupId

还有其他有趣的goals,例如example 的目标是快速使用这些属性。

【讨论】:

    【解决方案2】:

    其实我也有同样的情况。我们有 4 个大项目,每个项目约 100 个 pom.xml 以及它们之间的依赖关系。我还没有找到好的软件。

    现在我使用结构 101 (structure101.com) 向我展示它们之间的依赖关系。当然,它不是基于 maven pom.xml,但在我的情况下,我认为问题在于我在每个应用程序中都有大量的 maven 项目是缺少的软件架构。

    目前我尝试在类/包级别以及部署视图 (https://en.wikipedia.org/wiki/Deployment_diagram) 上可视化这些依赖关系

    我希望这对您有所帮助。

    我使用过的软件,但没有任何工具对我的 pom.xml 计数非常有用:

    【讨论】:

      最近更新 更多