annotationProcessors:
要运行的注释处理器名称。仅适用于 JDK 1.6+。如果未设置,则使用默认的注释处理器发现过程。
这里的 默认注释处理器发现过程 是什么?是否有其他方法来设置注释处理器,而不是使用此配置标记?
我发现 注释处理工具 (apt) 入门指南 文档提到了一种默认发现过程,但它只能与工厂类一起使用,而不是处理器,并且不幸地使用了 JDK 中的 tools.jar
和 com.sun
包。这是默认的注释处理器发现过程吗?
annotationProcessors:
要运行的注释处理器名称。仅适用于 JDK 1.6+。如果未设置,则使用默认的注释处理器发现过程。
这里的 默认注释处理器发现过程 是什么?是否有其他方法来设置注释处理器,而不是使用此配置标记?
我发现 注释处理工具 (apt) 入门指南 文档提到了一种默认发现过程,但它只能与工厂类一起使用,而不是处理器,并且不幸地使用了 JDK 中的 tools.jar
和 com.sun
包。这是默认的注释处理器发现过程吗?
将注解处理器注册到编译器的默认方法是在 META-INF/services/javax.annotation.processing.Processor
文件中注册。该文件可以包含多个处理器:每个处理器都是一个完全限定的类名,每行一个处理器名称,并以换行符结束。如果没有指定处理器,则编译器将默认使用以这种方式找到的处理器。
javax.annotation.processing.Processor
的一个ServiceLoader。 - gk5885