如何使用 Java 反射从源代码中找出 UML 关联
How to find out UML associations from source code with Java reflection
我正在从事一个项目,该项目将用于从 Java 代码生成 class 图表。该工具将 jar 文件作为输入并输出 Graphviz 点格式文件作为输出。
我知道使用 Java 反射和 Class#getSuperclass and Class#getInterfaces 找出继承和接口实现很简单。但我正在努力寻找关联、组合和依赖关系。可以通过反射来完成还是有一些外部库可以提供帮助?您可能能够提供的任何示例代码都会有很大帮助。
关联和组合可以从 class 字段中推断出来,因此 Class#getDeclaredFields
.
对于依赖项,您必须查看代码以了解哪些 classes 可以用作变量,而使用反射无法做到这一点。为此,您必须使用 Apache Commons BCEL.
等库查看 .class jar 文件中文件的字节码
我正在从事一个项目,该项目将用于从 Java 代码生成 class 图表。该工具将 jar 文件作为输入并输出 Graphviz 点格式文件作为输出。
我知道使用 Java 反射和 Class#getSuperclass and Class#getInterfaces 找出继承和接口实现很简单。但我正在努力寻找关联、组合和依赖关系。可以通过反射来完成还是有一些外部库可以提供帮助?您可能能够提供的任何示例代码都会有很大帮助。
关联和组合可以从 class 字段中推断出来,因此 Class#getDeclaredFields
.
对于依赖项,您必须查看代码以了解哪些 classes 可以用作变量,而使用反射无法做到这一点。为此,您必须使用 Apache Commons BCEL.
等库查看 .class jar 文件中文件的字节码