使用 Java 注释处理器添加注释

发布于 2024-11-15 22:06:32 字数 91 浏览 6 评论 0原文

我知道注释处理器通常用于使用注释并对它们做出反应。然而,我有一个用例,其中此“反应”涉及添加其他注释。这可以在处理器本身内完成吗?如果是这样,怎么办?

I know that the Annotation Processor is normally used to consume annotations and react to them. I, however, have a use case where this "reaction" involves adding other annotations. Can this be done within the processor itself? If so, how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

朕就是辣么酷 2024-11-22 22:06:32

简短的回答是,并且您没有任何具体要做的事情。

注释处理器用于创建源文件,而不是修改现有文件。因此,当您说“添加其他注释”时,我猜您的意思是“创建包含注释的新类”。

注释处理是分轮进行的。在每一轮中, process 注释处理器的方法被调用。

如果处理器生成新的源文件,则另一轮注释处理将开始

  • 解析新生成的源文件,并像以前一样处理注释,在前
  • 几轮中调用的处理器也会在所有后续轮中调用

所以基本上:您无需执行任何操作,它已经可以工作了;-) 。

The short answer is yes, and you don't have anything specific to do.

An annotation processor is used to create new source files, not to modify existing ones. So when you say "adding other annotations", I guess you mean "creating new classes that hold annotations".

Annotation processing is done in rounds. At each round, the process method of your annotation processor is called.

If a processor generate new source files, another round of annotation processing starts

  • newly generated source files are parsed and annotations are processed as before
  • processors invoked on previous rounds are also invoked on all subsequent rounds

So basically : you have nothing to do, it already works ;-) .

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文