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

问题描述 投票:1回答:1

我正在为java 7源代码编写java注释处理器。当然,我可以使用javax.annotation.processing.filer来帮助我自动生成项目目录下的文件。

例如:注释是@becare

public interface test {
   @becare
   int compare(int a, int b);
}

我的注释处理器的工作是当它检测到给定的注释@becare时,它会为我生成文件。

我的问题是,如果我从前面的代码片段中删除注释,我可以让注释处理器知道并删除它刚刚创建的文件吗?

或者有任何解决方法可以帮助我实现这一目标吗?

提前致谢。

java annotations
1个回答
5
投票

当您创建生成的文件时,您声明它已链接到您的“测试”界面,如下所示:

Elements eltUtils = processingEnv.getElementUtils(); filer.createSourceFile("testGenerated", eltUtils.getTypeElement("test"));

当删除源时,处理器将删除生成的文件,如javadoc所说:

如果没有原始元素,则不需要传递任何元素。此信息可用于增量环境,以确定是否需要重新运行处理器或删除生成的文件。非增量环境可能会忽略原始元素信息。

© www.soinside.com 2019 - 2024. All rights reserved.