52

有没有办法让一组给定项目的 Maven 依赖关系图(如果可能,图形化),而无需绘制第 3 方依赖关系?或者我选择退出我不感兴趣的依赖项?

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

4

5 回答 5

47

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

有关更多信息,请参阅文档

于 2013-07-01T20:31:28.283 回答
29

确实存在您需要的东西,它被称为Pom Explorer

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

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

  • 依赖分析(谁依赖GAV,这个GAV依赖哪个gav,具有传递性),
  • 分辨率(pom explorer 知道定义的属性在哪里,它管理依赖项和 bom 导入),
  • 操作(您可以使用它来转换您的 pom 图,假设您希望许多项目使用新版本的依赖项),
  • 构建(pom explorer 分析你的 pom 图表并知道它们应该按什么顺序构建,然后它会构建所有东西!它甚至可以观察你的项目目录是否有变化),
  • 导出(今天有 CSV 和 GRAPHML 导出),
  • 可视化(pom explorer 可以向您展示项目图表的交互式 3D 可自定义可视化)。

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

谢谢

于 2015-12-03T12:55:19.457 回答
10
mvn com.github.ferstl:depgraph-maven-plugin:aggregate -Dincludes=com.yourcompany.pkg

对我很好。

于 2018-11-06T14:47:45.737 回答
1

您可以使用POM2RDF生成项目依赖项(及其依赖项等)的 RDF 图,然后您可以查询以获取软件材料清单或可视化为依赖关系图。

免责声明:我是作者。

于 2021-11-22T20:19:55.337 回答
1

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

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

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

包含的语法与maven-dependency-plugin 包含的语法相同。

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

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

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

于 2020-10-01T10:04:35.353 回答