【发布时间】:2011-11-15 09:34:24
【问题描述】:
我对元编程(即帮助程序员完成繁琐的编程任务的程序)感兴趣。我正在寻找具有以下属性的工具:
- 可在编译时和运行时使用;
- 检查程序结构;
- 可以添加新的类、方法或字段并使它们对 Java 编译器可见;
- 可以改变方法的行为;
- 基于 Java(嗯,根据某些排名,Java 是最流行的编程语言);
- 与 IDE 和构建工具(如 Ant、Gradle 或 Maven)的良好集成;
- 积极维护的项目;
- 易于使用和扩展;
对此有一些解决方案,例如:
- 反思
- AspectJ
- 注解处理工具
- 字节码操作(CGLIB、Javassist、java.lang.instrument)
- Eclipse JDT
- Project Lombok
- Groovy、JRuby、Scala
但不幸的是,它们都不符合上述所有标准。有没有完整的 Java 元编程解决方案?
【问题讨论】:
-
我会删除“你会和我一起为此开始一个新项目吗?”-部分。 SO 不适合讨论这个问题。
-
Groovy 似乎符合要求。 “Java 编译器”在运行时不运行,除了热点,所以我不确定你想要什么。
-
那有什么更好的地方呢? :-) 这只是一个问题,不是项目规划,所以我觉得这个地方还可以。
-
@iirekm:我的建议是启动项目,然后放到 Github 上。没有什么比工作代码更能吸引贡献者了。
-
@iirekm:Intelli-J 有很好的 Groovy 支持。无论如何,Eclipse 都是垃圾,除了时髦。
标签: java metaprogramming