You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle多模块Java项目中annotationProcessors已引入未执行问题排查

注解处理器未执行排查方案
    1. 检查注解处理器SPI注册配置
      Java SPI机制要求注解处理器必须在processors模块的src/main/resources/META-INF/services/javax.annotation.processing.Processor文件中填写自定义处理器的全限定类名,没有该配置的话Java编译器无法识别到你的注解处理器实现。
      如果不想手动编写该配置,可以使用Google AutoService工具简化注册:
      在processors模块的依赖中添加:
dependencies {
    compileOnly 'com.google.auto.service:auto-service-annotations:1.0.1'
    annotationProcessor 'com.google.auto.service:auto-service:1.0.1'
}

然后在你的自定义Processor类上添加@AutoService(Processor.class)注解即可自动生成SPI配置文件。

    1. 检查Processor类的基础注解配置
      你的自定义Processor类必须添加两个注解:
    • @SupportedAnnotationTypes("你的@Builder注解的全限定类名"):指定当前处理器要处理的注解,必须和你自定义的@Builder的完整包名+类名完全匹配,匹配错误的话处理器不会被触发
    • @SupportedSourceVersion(SourceVersion.RELEASE_8)(根据你使用的JDK版本调整):指定处理器支持的Java源码版本,缺少该注解可能导致处理器不被执行
    1. 检查app模块的注解使用
      确认app模块中你添加的@Builder注解是你annotations模块自定义的注解,不要误导入了Lombok等第三方库的同名注解。同时确认自定义@Builder注解的@Retention保留策略至少为RetentionPolicy.CLASS,推荐使用SOURCE即可。
    1. 冗余配置清理
      app模块中compileJava.options.annotationProcessorPath = configurations.annotationProcessor配置是冗余的,Gradle的Java插件默认已经会自动关联annotationProcessor配置到编译任务的处理器路径,该配置不会导致错误可以直接删除。

内容的提问来源于stack exchange,提问作者cshjsc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:57:03