java - 用于生成 Java 源文件的 Java API

标签 java eclipse code-generation

我正在寻找一个框架来生成 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源文件。

有人知道这样的框架吗?


编辑:

  1. 我真的需要源文件。
  2. 我也想填写方法的代码。
  3. 我正在寻找高级抽象,而不是直接的字节码操作/生成。
  4. 我还需要对象树中的“类结构”。
  5. 问题域很笼统:生成大量非常不同的类,没有“共同结构”。

解决方案
我根据您的回答发布了 2 个答案... with CodeModelwith Eclipse JDT .

我用过CodeModel在我的解决方案中,:-)

最佳答案

Sun 提供了一个名为 CodeModel 的 API,用于使用 API 生成 Java 源文件。获取信息并不是最容易的事情,但它就在那里,而且效果非常好。

获取它的最简单方法是作为 JAXB 2 RI 的一部分 - XJC schema-to-java 生成器使用 CodeModel 生成其 java 源代码,它是 XJC jar 的一部分。您可以将其仅用于 CodeModel。

http://codemodel.java.net/ 获取

关于java - 用于生成 Java 源文件的 Java API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/121324/

相关文章:

code-generation - 从 DomainModelTemplate 解析类型时出现问题

java - R.Id.无法解决或不是字段 - 找不到错误

java - 在测试类中使用 JUnit 临时文件夹时出现 "folder has not yet been created"错误

java - 设置 HEAPPPROFILE 后 jetty 立即退出

java - JSDAI错误: Dictionary data file is missing for schema

python - 如何从 BNF 生成随机程序

java - AnnotationConfigApplicationContext 注册并刷新另一个配置类

eclipse - 使 src/main/resources/使用 "flat view"就像 Eclipse 中的 src/main/java

android - 如何访问手机的外置Micro SD卡?

java - Java中自动构建基于XML的资源类