# annotation-processor **Repository Path**: piumnl/annotation-processor ## Basic Information - **Project Name**: annotation-processor - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2019-06-17 - **Last Updated**: 2021-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java 之插件化注解处理 本项目演示针对存在于 SOURCE 级别的注解,Java 该如何处理。这里提供了两个例子: 一个是 `cn.piumnl.learning.java.annotation.processor.core.simple.TestAnnotationProcessor` ,这是 对源码级注解的 ## 运行 ```bash # 根目录下执行 mvn clean compile ``` ## 解释说明 前置条件: _注解处理程序_ 必须先编译,而后需要 _注解处理程序_ 处理的类再进行引用。 ### 如何引用? - 直接使用编译参数指定,例如: `javac -processor cn.piumnl.learning.java.annotation.processor.core.TestAnnotationProcessor Main.java` - 通过服务注册指定,就是 `META-INF/services/javax.annotation.processing.Processor` 文件中添加 `cn.piumnl.learning.java.annotation.processor.core.TestAnnotationProcessor` - 通过Maven的编译插件的配置指定如下: ```xml org.apache.maven.plugins maven-compiler-plugin 3.8.1 1.8 1.8 UTF-8 ``` 本项目采用 Maven 进行处理,test 模块依赖 core 模块,这是比较正常的使用方式。 ### Intellij IDEA 配置 启用注解处理: `Compiler` -> `Annotation Processors` -> `Enable annotation processing` -------------------------- 注: - 项目使用 JDK11,可降级为 JDK8 使用