IntelliJ IDEA 中 Lombok 插件不生效的根本原因是插件未启用、注解处理器未开启或 JDK 与 Lombok 版本不兼容;需确保安装官方 Lombok 插件、启用 Annotation Processors、匹配版本(如 JDK 17+ 用 ≥1.18.20),并正确配置 Maven/Gradle 注解处理器路径。

IntelliJ IDEA 里 Lombok 插件装不上或不生效
根本原因通常是插件未启用、注解处理器未开启,或 JDK 版本与 Lombok 版本不兼容。Lombok 不是“装完就自动工作”的工具,它依赖 IDE 的注解处理支持。
- 先确认已安装插件:
Lombok(不是Lombok Annotations Support等旧/第三方变种)——在Settings → Plugins搜索并启用 - 必须勾选:
Settings → Build → Compiler → Annotation Processors → Enable annotation processing - 若用 JDK 17+,确保 Lombok 版本 ≥ 1.18.20;JDK 21 推荐用 1.18.30+,否则
@Builder或@RequiredArgsConstructor可能静默失效 - 重启 IDEA 后,右键项目 →
Reload project,别只刷新 Maven
Maven 项目中 Lombok 依赖加了但编译报错 cannot find symbol
这是最典型的“IDE 认得、编译器不认识”问题。Lombok 注解需要被编译器识别并生成代码,而默认的 javac 不知道它们是什么。
- 必须在
pom.xml中同时声明lombok依赖和maven-compiler-plugin配置:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<optional>true</optional> 是为了防止 Lombok 被传递到下游模块,但它不影响编译时可用性annotationProcessor 'org.projectlombok:lombok:1.18.30',不能只写 compileOnly
Lombok 生成的 getter/setter 在单元测试里调不到
常见于使用了 @Data 或 @Getter 却发现 Mockito 模拟失败、或者反射调用 getClass().getDeclaredMethod("getXXX") 找不到方法 —— 这说明 Lombok 没生效,或类被其他机制提前加载。
在调试 Java 后端 API 故障时使用此技能,尤其适用于以下任务:分析日志、跨 Controller、Service 和 Mapper 层追踪请求、定位异常根因、检查 SQL 执行或参数流转,以及生成简洁的诊断结论与修复方案。
- 检查是否误用了
@UtilityClass或@NoArgsConstructor(access = AccessLevel.PRIVATE)导致构造逻辑干扰了字段可见性 - 确认测试类所在 module 的
module-info.java(如有)中已声明requires lombok;,否则 JPMS 下注解处理器可能被忽略 - 避免在
src/test/java下直接写 Lombok 类而不配 test 专用依赖 —— 测试 scope 需显式引入 Lombok 处理器 - 用
javap -p YourClass.class查看字节码,确认方法是否真实存在;若没有,说明编译阶段根本没触发 Lombok
VS Code + Java Extension Pack 下 Lombok 支持不稳定
VS Code 的 Java 支持靠 redhat.java(即 Eclipse JDT LS),它对 Lombok 的兼容性比 IDEA 弱,尤其在多 module 或非标准 layout 项目中容易掉链子。
立即学习“Java免费学习笔记(深入)”;
- 必须在项目根目录放
lombok.config,哪怕只写一行:config.stopBubbling = true,否则 JDT LS 可能读错配置层级 - 确保
settings.json中启用了:"java.configuration.updateBuildConfiguration": "interactive"和"java.compile.nullAnalysis.mode": "automatic"(后者间接激活部分注解处理) - 不要依赖 “自动下载 Lombok jar”,手动下载
lombok.jar并在设置里指定路径:"java.configuration.runtimes"或启动参数-javaagent:/path/to/lombok.jar - 遇到 “method not found” 提示但运行正常?那是语义校验假阳性,可暂时关闭:
"java.suggestions.enabled": false(仅限开发机)
-javaagent、注解处理器路径或模块声明,都会导致“看起来装了,实际没生孩子”。

















