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