我正在为 Java 7 源代码编写一个 Java 注释处理器。 当然,我可以使用 javax.annotation.processing.filer 来帮助我自动生成项目目录下的文件。
例如:注解是@becare
public interface test {
@becare
int compare(int a, int b);
}
我的注释处理器的工作是当它检测到给定的注释@becare 时,它会为我生成文件。
我的问题是,如果我从前面的代码片段中删除注解,我能否让注解处理器知道这一点并删除它刚刚创建的文件?
或者是否有任何解决方法可以帮助我实现这一目标?
提前致谢。
最佳答案
当您创建生成的文件时,您声明它链接到您的“测试”界面,如下所示:
元素 eltUtils = processingEnv.getElementUtils();
filer.createSourceFile("testGenerated", eltUtils.getTypeElement("test"));
当源被删除时,处理器将删除生成的文件,如 javadoc 所说:
如果没有原始元素,则无需传递任何元素。此信息可用于增量环境以确定是否需要重新运行处理器或删除生成的文件。非增量环境可能会忽略原始元素信息。
关于java - 删除源文件中的注释时,自动删除 Java 7 Annotation Processor 生成的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24420718/