我有一个非常大的项目(约30个模块),并希望可视化模块的相互依赖性,不包括第三方。
现有工具似乎无法处理maven反应堆。 maven依赖插件(依赖:树目标)知道如何生成graphml,但只知道每个模块。如果我使用append标志,它只是将所有内容推送到一个文件,因此输出是一个损坏的graphml。
我还发现了this tool,但似乎无法控制模块粒度。
我的最后一招是解析依赖的结果:树,但我想我会在此之前咨询社区。 p>
答案 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)
现在我使用结构101(structure101.com)向我展示它们之间的依赖关系。当然,它不是基于maven pom.xml,但在我的情况下,我认为问题是因为我在每个应用程序中都有大量的maven项目是缺少的软件架构。
目前我尝试在类/包级别以及部署视图(https://en.wikipedia.org/wiki/Deployment_diagram)上可视化这些依赖项
我帮助了你一点点。
我使用的软件,但没有工具对我的pom.xml计数非常有用: