在 Eclipse 里使用 Java 6 注解处理器
第一步:继承AbstractProcessor
public class ViewInjectProcessorBeta extends AbstractProcessor
{
@Override
public boolean process(Set<? extends TypeElement> annotations,
RoundEnvironment roundEnv)
{
// 这里是生成java源文件的地方,在编译前会执行这里,然后自动编译生成的java源文件
return false;
}
}
在项目中,创建一个resources文件夹 ,右键 new sources folder即可。然后在里面创建META-INF/services/javax.annotation.processing.Processor文件,这个文件中去写我们处理器的类完整路径
第三步:
启用annotation processor.
eclipse: Java Compiler -> Annotation Processing 查看 “Enable Project Specific Settings” 确认 “Enable annotation processing” 被选中。为了不让他在包浏览器中隐藏,我还修改了 generated source directory ,去掉了开始的点(Eclipse 会将文件名以点开始的文件或文件夹过滤掉)。然后,转到 Java Compiler -> Annotation Processing -> Factory Path 你可以在这里导入处理器的 jar 文件。不可以使用工程引用。 点击 “Advanced” 按钮,会显示一个对话框,列出了 META-INF/services/javax.annotation.processing.Processor 文件中的内容。选择它并按OK
项目引用tools.jar 包:
com.sun.mirror.apt:和APT交互的接口
com.sun.mirror.declaration:包含各种封装类成员,类方法,类声明的接口。
com.sun.mirror.type:包含各种封装源代码中程序元素的接口。
com.sun.mirror.util:提供了用于处理类型和声明的一些工具。