Maven依赖图

Sim*_*hor 38 java maven

有没有办法获得给定项目集的Maven依赖图(如果可能的话,图形化),而没有绘制第三方依赖项?或者我选择退出我不感兴趣的依赖项?

我想将工具/插件指向许多POM文件,并查看这些项目之间的依赖关系的描述.

Dun*_*nes 28

如果你使用mvn dependency:tree,你可以指定要排除的文件或与包括-Dexcludes-Dincludes.输出是依赖关系的ASCII艺术风格描述.

有关详细信息,请参阅文档.

  • 像这样的东西(http://mvnplugins.fusesource.org/maven/1.0/maven-graph-plugin/),但显然这个不提供选择退出第三方 (3认同)
  • 但这只是针对给定的项目,不是吗?我真的很想看看我的项目之间的关系。 (2认同)

Arn*_*ier 22

它确实存在你所需要的,它被称为Pom Explorer.

你可以在这里找到这个网站:github.com/ltearno/pom-explorer

它是一个处理maven项目图表的工具.作为预告片我可以说在我的机器上它在4秒内分析了4000个pom.xml文件.然后在分析的pom图上方提供了许多功能:

  • 依赖性分析(依赖于GAV,GAV依赖于GAV,具有传递性),
  • 解决方案(pom explorer知道定义的属性在哪里,它管理依赖关系和bom导入),
  • 操作(您可以使用它来转换pom图,假设您希望许多项目使用新版本的依赖项),
  • 构建(pom explorer分析你的pom图并知道它们应该以什么顺序构建,然后它构建所有内容!它甚至可以监视你的项目目录以进行更改),
  • 导出(今天有CSV和GRAPHML导出),
  • 可视化(pom explorer可以向您显示项目图形的交互式3D可自定义可视化).

它现在正在积极开发中,所以不要犹豫,尝试它,报告错误并要求有用的功能!文档还没有完成,所以再次不要犹豫!

谢谢


pau*_*l_h 8

mvn com.github.ferstl:depgraph-maven-plugin:aggregate -Dincludes=com.yourcompany.pkg
Run Code Online (Sandbox Code Playgroud)

对我来说很好。


msa*_*msa 5

我喜欢depgraph-maven-plugin来可视化多模块项目中的依赖关系,另请参阅之前的答案

dependency:tree要获取模块的文本格式(如 )的聚合结果,请使用:

mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DgraphFormat=text -Dincludes=myGroupId
Run Code Online (Sandbox Code Playgroud)

include 的语法与maven-dependency-pluginincludes相同。

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

mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DcreateImage -Dincludes=myGroupId
Run Code Online (Sandbox Code Playgroud)

还有其他有趣的目标,例如example快速玩转属性的目标。