比方说,我定义了一个名为@MyAnnotation
的注释。注释处理器可用于代码生成吗?
有一类X
作为声明:
@MyAnnotation
class X { .... }
现在在编译的时候我想检查与@MyAnnotation
注释的所有类,并做一些代码生成需要被编译为更多的Java源文件在相同的过程中。
这可能使用java注释处理器或其他工具吗?
比方说,我定义了一个名为@MyAnnotation
的注释。注释处理器可用于代码生成吗?
有一类X
作为声明:
@MyAnnotation
class X { .... }
现在在编译的时候我想检查与@MyAnnotation
注释的所有类,并做一些代码生成需要被编译为更多的Java源文件在相同的过程中。
这可能使用java注释处理器或其他工具吗?
你可以看看Java apt (Annotation Processing Tool)
这样的事情。
你可以找到Getting Started页面,以及一篇不错的文章(1,2,3)关于如何使用它来生成代码。
警告:计划在下一个主要的JDK版本中删除apt工具及其关联的API 。这些功能已取代 由javac和标准化注释处理API取代, javax.annotation.processing和javax.lang.model.' –
APT工具已被合并到Java 6中的javac中。This是一个更好的注解处理教程。
http://docs.oracle.com/javase/tutorial/java/javaOO/annotations.html。看看这里。有可能的。 – vels4j
这就是注释处理的用途。你基本上是问它是否可以做它做的。 – Bohemian