我正在寻找一个框架来生成 Java 源文件。
类似于以下 API:
X clazz = Something.createClass("package name", "class name");
clazz.addSuperInterface("interface name");
clazz.addMethod("method name", returnType, argumentTypes, ...);
File targetDir = ...;
clazz.generate(targetDir);
然后,应该在目标目录的子目录中找到一个java源文件。
有人知道这样的框架吗?
编辑:
- 我真的需要源文件。
- 我也想填写方法的代码。
- 我正在寻找高级抽象,而不是直接的字节码操作/生成。
- 我还需要对象树中的“类结构”。
- 问题域很笼统:生成大量非常不同的类,没有“共同结构”。
解决方案
我根据您的回答发布了 2 个答案... with CodeModel和 with Eclipse JDT .
我用过CodeModel在我的解决方案中,:-)
最佳答案
Sun 提供了一个名为 CodeModel 的 API,用于使用 API 生成 Java 源文件。获取信息并不是最容易的事情,但它就在那里,而且效果非常好。
获取它的最简单方法是作为 JAXB 2 RI 的一部分 - XJC schema-to-java 生成器使用 CodeModel 生成其 java 源代码,它是 XJC jar 的一部分。您可以将其仅用于 CodeModel。
关于java - 用于生成 Java 源文件的 Java API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/121324/