SpringBoot(Maven)项目引入Lombok依赖编译报错问题
解决SpringBoot 3.0.2中Lombok编译报错"cannot find symbol"的问题
问题原因
你当前的Lombok依赖使用了<scope>provided</scope>,这会导致Maven编译时无法自动将Lombok作为注解处理器加载——即便IDE中配置了注解处理,命令行编译仍会找不到生成的getter/setter方法。另外,Lombok 1.18.26与基于Java 17的SpringBoot 3.0.2兼容性存在小问题。
解决方案
1. 升级Lombok版本
将Lombok版本升级到1.18.28及以上(该版本开始更好适配Java 17和SpringBoot 3.x),修改依赖配置:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <!-- 推荐使用最新稳定版 --> <scope>provided</scope> </dependency>
2. 配置Maven注解处理器路径
在pom.xml的<build>节点下添加maven-compiler-plugin配置,明确指定Lombok作为注解处理器:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>17</source> <!-- SpringBoot 3.x要求最低Java 17 --> <target>17</target> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <!-- 与依赖版本保持一致 --> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>
3. 清理并重新编译
执行Maven命令清理缓存并重新构建项目:
mvn clean install -U
4. 再次确认IDE配置(可选)
虽然你已经配置过,但可以再检查一次IntelliJ的注解处理开关:
- 打开
File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors - 确保
Enable annotation processing选项已勾选 - 点击
Apply保存配置
完成以上步骤后,Maven编译时就能正确识别Lombok生成的getter/setter、构造方法等代码了。
内容的提问来源于stack exchange,提问作者Andres Chaves
相关产品推荐
相关产品推荐

