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



我有一个相当大的项目(大约30个模块),希望可视化模块间的依赖关系,不包括第三方。

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

我也找到了这个工具,但似乎没有办法控制模块粒度。

我最后的办法是解析dependency:tree的输出,但我想在此之前我会咨询社区。

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

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

includes的语法与maven依赖插件includes的相同。

它有很多属性可以自定义结果/行为。我更喜欢将它与graphviz一起使用,因此我可以使用(默认)图形格式dot,并让它在target文件夹中创建一个png文件:

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

还有其他有趣的目标,例如example目标,以快速处理属性。

我实际上也有同样的情况。我们有4个大项目,每个项目大约有100个pom.xml,并且它们之间存在依赖关系。我没有找到一个好的软件。

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

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

我想这对你有点帮助。

我用过但没有工具的软件对我的pom.xml计数来说真的很好:

  • https://code.google.com/p/q4e/wiki/DependencyGraphViewer
  • https://code.google.com/p/maven-overview-plugin

最新更新