什么是默认注释处理器发现过程?
Posted
技术标签:
【中文标题】什么是默认注释处理器发现过程?【英文标题】:What is the default annotation processors discovery process? 【发布时间】:2012-07-25 23:54:08 【问题描述】:documentation of Maven Compiler plugin mentions the following:
注解处理器:
要运行的注释处理器的名称。仅适用于 JDK 1.6+ 如果不是 设置,则应用默认注释处理器发现过程。
这里的默认注释处理器发现过程是什么?除了这个配置标签,还有其他方法可以设置注解处理器吗?
我发现Getting Started with the Annotation Processing Tool (apt) 文档提到了一个默认发现过程,但它适用于工厂类而不是处理器,不幸的是它使用tools.jar
和com.sun
来自 JDK 的软件包。这是默认的注释处理器发现过程吗?
【问题讨论】:
【参考方案1】:使编译器可以使用注解处理器的默认方法是将其注册到META-INF/services/javax.annotation.processing.Processor
的文件中。该文件可以包含许多处理器:每个处理器都在其自己的行上是完全限定的类名,最后有一个换行符。如果未指定任何处理器,编译器将默认使用以这种方式找到的处理器。
【讨论】:
具体来说,它只是一个ServiceLoader forjavax.annotation.processing.Processor
以上是关于什么是默认注释处理器发现过程?的主要内容,如果未能解决你的问题,请参考以下文章
dolphinscheduler调度中执行python报错的处理过程