Java Maven依赖图

Java Maven依赖图,java,maven,Java,Maven,有没有一种方法可以让一组给定项目的Maven依赖关系图(如果可能的话,是图形化的)不需要绘制第三方依赖关系?或者我在哪里选择了我不感兴趣的依赖项 我想将该工具/插件指向一些POM文件,并查看这些项目之间的依赖关系的描述。如果使用mvn dependency:tree,则可以指定要排除或包含的文件以及-Dexcludes和-Dincludes。输出是对依赖项的ASCII艺术风格描述 有关更多信息,请参阅。有您所需要的,它被称为Pom Explorer 您可以在此处找到网站: 它是处理maven项目

有没有一种方法可以让一组给定项目的Maven依赖关系图(如果可能的话,是图形化的)不需要绘制第三方依赖关系?或者我在哪里选择了我不感兴趣的依赖项


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

如果使用
mvn dependency:tree
,则可以指定要排除或包含的文件以及
-Dexcludes
-Dincludes
。输出是对依赖项的ASCII艺术风格描述


有关更多信息,请参阅。

有您所需要的,它被称为Pom Explorer

您可以在此处找到网站:

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

  • 依赖性分析(谁依赖GAV,这个GAV依赖哪个GAV,具有及物性)
  • 解析(pom资源管理器知道在哪里定义了属性,它管理依赖项和bom表导入)
  • 操纵(您可以使用它转换pom图,假设您希望许多项目使用新版本的依赖项)
  • 构建(pom浏览器分析您的pom图,并知道它们应该以何种顺序构建,然后构建所有内容!它甚至可以查看您的项目目录以进行更改)
  • 导出(现在有CSV和GRAPHML导出)
  • 可视化(pom资源管理器可以向您显示项目图形的交互式三维可自定义可视化)
它现在正在积极开发中,所以不要犹豫尝试它,报告错误并要求提供有用的功能!文档也还不完整,所以再次请不要犹豫

谢谢

这对我来说很好。

我喜欢在多模块项目中可视化依赖关系,另请参见

要以文本格式(如
依赖项:树
)获取模块的聚合结果,请使用:

mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DgraphFormat=text -Dincludes=myGroupId
includes的语法与with相同

它有很多优点。我更喜欢与一起使用,因此我可以使用(默认)图形格式
dot
,并让它在
target
文件夹中创建
png
文件:

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

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

如果您使用eclipse,您有一个
依赖项
视图,您可以在该视图上以图形方式排除依赖项。此视图仅适用于给定的项目,我想了解我的项目之间的关系是否有人尝试过?但这只是一个给定的项目,不是吗?我真的很想看看我的项目之间的关系。类似这样(),但显然这一个不提供退出第三个parties@Simhor因此,您想指向一些POM文件并查看这些项目之间的关系图?或者,程序可以推断子模块,通过提供顶级的pom.xmlNice工具,您能否解释一下,为了简单地获得一组给定maven项目的依赖关系图,需要做些什么?到目前为止,我可以分析包含项目集的文件夹,并使用pom资源管理器列出所有gav。我需要做什么才能得到这些项目(没有第三方)之间的依赖关系图,以便进一步处理。我想要的是在maven项目之间有一个简单的图形,以了解如何以正确的顺序构建项目。您可以使用
图形导出[gav_filter]
命令导出代表您的项目的graphml文件。然后你可以用yEd过滤它。如果您喜欢3d WebGL图形命令(graph),则可以直接在图形界面中过滤显示的GAV。也许最好将此问题作为github项目的文档问题发布,这样其他人就可以从中受益……对不起,gui太麻烦了。有没有命令行方式来使用该工具?gui试图像命令行一样。目前没有其他选择。我希望能够围绕pom-explorer.jar编写一个小小的命令行包装器,这是我迄今为止所做的最好的尝试,但它被编译/测试依赖性所愚弄。默认情况下,具有“test”作用域的依赖项(被重写为“compile”)是子项目,但不考虑该依赖项。某些依赖项可能会出现多次。
mvn com.github.ferstl:depgraph-maven-plugin:aggregate -DcreateImage -Dincludes=myGroupId