Skip to content

Idea 调试注解处理器Processor

平时接触到的注解主要有两种:

  • 编译时注解:通过注解在编译期动态处理一些逻辑。例如:Lombok@Data@Builder@Slf4j等。

  • 运行时注解:通过反射在运行时动态处理一些逻辑。例如:Spring@Component@Service@Repository等。

编译期注解一般都是自动生成代码,解放一些重复的工作,例如@Data自动生成构造方法和getter/setter方法。

编译期注解处理器Processor是编译时注解的核心,通过Processor可以动态处理一些编译时逻辑,它是注解处理器的接口类,AnnotationProcessorProcessor的一个抽象类,它已经实现了大部分的流程,我们只需要实现process方法即可方便的定义注解处理器。

自定义编译时注解处理器

自定义注解Processor可以查看:自定义编译时注解处理器

Idea调试注解处理器

  • 添加Remote Debugger

在IDEA中添加Remote Debugger,端口为8000,位置在Run>Edit Configurations

idea-debug-processor-1

idea-debug-processor-2.png

  • 编译

在终端使用mvnDebug clean compile命令编译项目,编译会显示监听端口8000。

sh
$ mvnDebug clean compile
Listening for transport dt_socket at address: 8000
  • 调试

添加断点,启动之前添加的Remote,使用dubug运行即可调试。

idea-debug-processor-3

参考