如何将Java项目作为输入通过PlantUML生成对应代码结构图表
Java项目生成PlantUML代码/调用栈图的可行方案
方案1:IDE插件直接生成(门槛最低)
- IntelliJ IDEA生态可搭配使用 PlantUML Integration 与 Java to PlantUML 插件,选中目标包/类后右键即可选择导出类结构、方法调用关系对应的PlantUML代码,支持自定义排除无关类、指定关系遍历深度
- Eclipse可安装 PlantUML Eclipse Plugin 搭配 ObjectAid UML Explorer,选中Java项目模块后可直接导出类图、时序图对应的PlantUML文本
方案2:静态代码解析工具批量生成
- 轻量自定义场景可以依赖
javaparser库解析项目的类定义、方法、引用关系,按PlantUML语法规则拼接输出即可,核心逻辑代码量不到100行,可灵活适配自定义导出规则 - 通用场景可以直接使用现成的命令行工具如
plantuml-generator,本地执行命令指定Java源码路径、输出路径即可,支持生成类图、组件图、调用关系图等多种类型的PlantUML文件
方案3:运行时抓取调用栈生成时序图(适合真实业务调用场景)
如果需要生成实际运行时的方法调用栈而非静态代码结构,可以用以下两种方式实现:
- 给目标业务方法加AOP切面,在方法进入、退出时记录调用方、被调用方、方法名,按PlantUML时序图语法输出到本地文件,运行完目标业务流程后直接拿输出内容生成PlantUML图
- 无需改代码的场景可以用诊断工具的
stack/trace命令导出调用栈后,写简单的正则转换脚本把调用栈格式转成PlantUML时序图语法,适合线上排查问题时快速生成调用关系图
提示:生成复杂关系图时建议提前限定扫描的包范围、调用层级上限,避免生成的图包含太多无关节点导致可读性下降。
内容的提问来源于stack exchange,提问作者Stella
相关产品推荐
相关产品推荐

