gpt4 book ai didi

java - 使用反射生成的 Java 源代码

转载 作者:行者123 更新时间:2023-11-29 09:14:40 26 4
gpt4 key购买 nike

在我的 Java 应用程序中我有一个类 Foo

class Foo {
String field1;
String field2;
}

我想要一些生成的代码,在这个类的字段上使用反射(虚构的模板语言)

#for each Field $f in Foo.class.getDeclaredFields()
#writeFile $f.java
public @interface $f {
}

最终目标是让 Field1.java 和 Field2.java 在每个内部都有一个简单的@interface 定义。

是否有可用的模板语言可以将生成作为 Maven 构建过程的一部分?

我能找到的最接近的是 JET ,但这个项目似乎更适合生成在运行时可用的 Java 源代码,而不是在编译时。理论上,我可能可以使用 AntRun 以及几个 Javac 和 Java 任务来完成这项工作,但这会很麻烦。

我需要它的实际用例是生成 BindingAnnotations适用于 Google Guice(将在 GWT 源代码中使用,因此它们在编译时必须作为 .java 文件存在)。

最佳答案

我会在这里建议两个选项:

  1. Apache Velocity:它提供了一种看起来与您所描述的很接近的模板语言。调查一下here .您可能会对他们的引擎感兴趣。

  2. GWTP 似乎在做一些类似于您想要做的事情。看起来他们正在使用注释处理器来执行代码生成。这是一个processor example他们的项目主页是 here .

关于java - 使用反射生成的 Java 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10293565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com