默认的注解处理器发现过程是什么?

21

Maven 编译器插件文档提到以下内容:

annotationProcessors:

要运行的注释处理器名称。仅适用于 JDK 1.6+。如果未设置,则使用默认的注释处理器发现过程。

这里的 默认注释处理器发现过程 是什么?是否有其他方法来设置注释处理器,而不是使用此配置标记?

我发现 注释处理工具 (apt) 入门指南 文档提到了一种默认发现过程,但它只能与工厂类一起使用,而不是处理器,并且不幸地使用了 JDK 中的 tools.jarcom.sun 包。这是默认的注释处理器发现过程吗?

1个回答

24

将注解处理器注册到编译器的默认方法是在 META-INF/services/javax.annotation.processing.Processor 文件中注册。该文件可以包含多个处理器:每个处理器都是一个完全限定的类名,每行一个处理器名称,并以换行符结束。如果没有指定处理器,则编译器将默认使用以这种方式找到的处理器。


4
具体来说,它只是javax.annotation.processing.Processor的一个ServiceLoader - gk5885

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接