java - 删除源文件中的注释时,自动删除 Java 7 Annotation Processor 生成的文件

标签 java annotations

我正在为 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/

相关文章:

java - 现有注释的 AspectJ 表达式,注释之后但方法执行之前的切入点

java - NumberFormat 解析不够严格

java - Grails:检查分离的对象是否在附加的集合中

java - 注解指定哪些类可以调用方法?

java - 如何通过mybatis基于注释将对象(超过10个属性)插入mysql而不列出所有属性

java - 具有外键和主键公共(public)列的 Hibernate 注释

java - Android InflaterInputStream 是否与流行的 ZLIB Windows 库相同?

java.lang.IllegalStateException : Observer android. widget.AbsListView$AdapterDataSetObserver 未注册

Java NIO 压缩文件系统 : "zip END header not found" while creating file system

swift - 我怎么知道 map View 上是否已经有注释