当前位置: 首页 > 面试题库 >

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

微生城
2023-03-14
问题内容

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

注解处理器:

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

什么是 默认的注解处理器发现过程 吗?除了此配置标签,还有其他方法可以设置注释处理器吗?

我发现“注释处理工具入门(apt)”文档提到了
默认的发现过程 ,但是它适用于 工厂类
而不是处理器,并且不幸的是,它使用JDK中的tools.jarcom.sun包。这是默认的注释处理器发现过程吗?


问题答案:

使注释处理器可用于编译器的默认方法是将其注册到中的文件META- INF/services/javax.annotation.processing.Processor。该文件可以包含多个处理器:每个处理器类的全限定类名都位于其自己的行中,并在末尾添加换行符。如果未指定,则编译器将默认使用以此方式找到的处理器。



 类似资料:
  • 我正在开发一个使用 JPA 和Hibernate的项目,我刚刚注意到实体没有任何关系注释,例如@ManyToOne、@OneToOne等。所以我的问题是,JPA / Hibernate是否为每个案例添加了默认注释? 这里有一个例子 JPA是否默认在此属性中添加@OneTo的注释?

  • 在Spring MVC中,类DefaultAnnotationHandlerMapping已被弃用。文档(http://docs . spring . io/spring/docs/current/javadoc-API/org/spring framework/web/servlet/MVC/annotation/defaultannotationhandlermapping . html)说:

  • 问题内容: 引用,Sun的官方Java教程 仅当显式请求注释处理时,才接受类名“ HelloWorldApp” 这是什么意思?以及如何应用呢? 问题答案: “注释处理”是Java编译器编译过程的一个钩子,用于分析用户定义的注释的源代码并进行处理(通过产生编译器错误,编译器警告,发出源代码,字节代码…)。 API参考:http://java.sun.com/javase/6/docs/api/jav

  • Kotlin中的注释可以有不同的使用站点目标,如下所述:https://kotlinlang.org/docs/reference/annotations.html#annotation-使用站点目标 我的问题是:如果没有明确定义use-site,那么在类中注释属性时的默认目标是什么? 背景 我尝试用Jongo作为Kotlin中的MongoDB客户端,但在注释id字段时遇到了问题。Jongo不能正

  • 我正在使用注释处理器来处理方法参数的注释。 用于参数的注释类型有一个注释@参数 现在,当注释处理器运行时,我想检查参数注释()是否有参数注释。我通过执行以下代码来实现这一点。 由于某种原因,arg始终为空。是否有注释未返回的原因?

  • 需要注释处理器的帮助。我创建了一个简单的注释处理器,它使用@autoservice注释来检查注释的字段是否为最终字段。但它没有显示任何编译时错误。这是我的配置 注释: 注释处理器: pom文件: 测试文件: