先确认注解处理器是否启用:File → Settings → Build, Execution, Deployment → Compiler → Annotation Processors中必须勾选Enable annotation processing,并勾选Obtain processors from project classpath。

插件装了但 @Data 还是报红?先确认注解处理器是否启用
装完 Lombok 插件不等于能用,IDEA 默认关闭注解处理,这是新手最常卡住的地方。没开这个开关,@Data、@Slf4j 等注解在编辑器里会标红,编译也通不过。
操作路径:File → Settings → Build, Execution, Deployment → Compiler → Annotation Processors,必须勾选 Enable annotation processing。如果项目是 Maven/Gradle,还要确保勾选下方的 Obtain processors from project classpath(否则 IDEA 不会读取你 pom.xml 里的 lombok 依赖)。
- Windows/Linux 快捷键是
Ctrl+Alt+S,macOS 是Cmd+, - 改完设置后不需要重启 IDEA,但要重新构建项目(
Build → Rebuild Project)才能生效 - 如果用了模块化项目(多 module),每个 module 都得单独检查这个开关是否开启
Maven 项目必须加 lombok 依赖,且 provided 不能少
插件只负责让 IDEA 识别注解、生成代码提示;真正编译时注入 getter/setter 的,是 lombok 库本身。缺依赖,编译直接失败,报错类似:cannot find symbol method getName()。
Maven 的 pom.xml 中要写成这样:
<dependency><groupid>org.projectlombok</groupid><artifactid>lombok</artifactid><version>1.18.30</version><scope>provided</scope></dependency>
-
很关键:它告诉 Maven 这个依赖只在编译和测试期需要,运行时不打包进去——避免和运行时容器(如 Spring Boot 内嵌 Tomcat)冲突provided - 版本别硬写死旧版(比如 1.16.x),建议用
1.18.30或更高(2026 年主流兼容 JDK 17+ 和 IDEA 2023.3+) - 如果用 Gradle,对应写法是:
compileOnly 'org.projectlombok:lombok:1.18.30'+annotationProcessor 'org.projectlombok:lombok:1.18.30'
离线安装插件时,别解压 ZIP 文件,直接选压缩包安装
公司内网或网络受限环境无法访问 Marketplace,就得手动下载插件 ZIP。常见错误是把 ZIP 解压成文件夹再试图“安装文件夹”,结果 IDEA 报错:Plugin 'Lombok' is incompatible with this installation。
正确做法:
- 去 GitHub Releases 页面下载对应 IDEA 版本的 ZIP(例如
lombok-plugin-2023.3.zip),地址:https://github.com/mplushnikov/lombok-intellij-plugin/releases - Settings → Plugins → 右上角齿轮图标 →
Install Plugin from Disk…→ 直接选中那个 ZIP 文件(不要解压!) - 安装后重启 IDEA,再检查插件列表里状态是不是
Enabled
注意:插件版本必须和 IDEA 主版本对齐。IDEA 2023.3 不能用为 2022.x 编译的插件,否则即使装上也无效。
编译通过但运行时报 NoClassDefFoundError: lombok/Lombok?检查类路径和构建工具集成
编辑器不红、mvn compile 成功,但一运行就崩,大概率是构建工具没把 Lombok 注入到编译流程里。Maven 默认不执行 annotation processor,除非你显式配置插件。
如果你用的是较老的 Maven(3.6.x 以下),或者项目里自定义了 maven-compiler-plugin,必须加 块:
<plugin><groupid>org.apache.maven.plugins</groupid><artifactid>maven-compiler-plugin</artifactid><version>3.11.0</version><configuration><source>17</source><target>17</target></configuration><executions><execution><id>default-compile</id><configuration><annotationprocessorpaths><path><groupid>org.projectlombok</groupid><artifactid>lombok</artifactid><version>1.18.30</version></path></annotationprocessorpaths></configuration></execution></executions></plugin>
这个配置容易被忽略,尤其当项目沿用旧模板时。没有它,Maven 编译出来的 class 文件里就没有 Lombok 生成的方法,运行自然找不到。











