寻找一种可视化我的多模块pom项目的依赖结构的方法

时间:2015-03-23 19:02:51

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

我有一个非常大的项目(约30个模块),并希望可视化模块的相互依赖性,不包括第三方。

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

我还发现了this tool,但似乎无法控制模块粒度。

我的最后一招是解析依赖的结果:树,但我想我会在此之前咨询社区。

2 个答案:

答案 0 :(得分:1)

我喜欢depgraph-maven-plugin来可视化多模块项目中的依赖项。要获取模块的文本格式(如dependency:tree之类的汇总结果,请使用:

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

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

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

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

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

答案 1 :(得分:-1)

我实际上情况相同。我们有4个大项目,每个项目有~100个pom.xml,它们之间有依赖关系。我没找到好的软件。

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

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

我帮助了你一点点。

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