有没有办法配置ClassLoader或JVM来加载CLASS保留策略的注释,所以我可以使用反射访问它们?
这对于编译时后处理非常有用,如here所述。我注释了一些类,以便自动生成antlib.xml文件。我更喜欢我的注释可能具有CLASS保留策略,因此它不会创建运行时依赖项。
javac可以使用-processor
选项处理源和类级别注释。请参见javax.annotation.processing.AbstractProcessor。 (自java 1.6)。
我在编译.java文件时开始使用它。显然它也可以用来处理带有.class输入文件的CLASS注释。我没有尝试过这个,因为我使用ant编译,而ant似乎没有将.class文件传递给编译器。
当我想处理项目中的所有注释时,我必须进行完整编译。