SpringBoot 3.4.1中Lombok失效问题求助
SpringBoot 3.4.1 中 Lombok 编译报错解决方案
问题描述
在SpringBoot 3.4.1版本中使用Lombok时,IntelliJ IDE无任何错误提示,但编译阶段所有Lombok生成的代码均报notFound()错误;SpringBoot 3.3.4版本可正常运行,且已尝试清理IDE缓存、更换Lombok版本、删除本地.m2仓库、重新克隆仓库、重装IDE等操作均无效。
针对性解决方案
匹配Lombok与SpringBoot版本
SpringBoot 3.4.x依赖的字节码工具链有升级,旧版Lombok存在兼容性问题,建议使用Lombok 1.18.32及以上版本。在pom.xml中明确指定版本,避免依赖传递导致的版本不一致:<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.32</version> <scope>provided</scope> </dependency>配置编译插件的注解处理器
对于Maven,需确保maven-compiler-plugin版本兼容,并显式配置Lombok注解处理器路径:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.12.1</version> <configuration> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.32</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>若使用Gradle,在build.gradle中正确配置注解处理器依赖:
dependencies { compileOnly 'org.projectlombok:lombok:1.18.32' annotationProcessor 'org.projectlombok:lombok:1.18.32' }确认IDE注解处理器状态
打开IntelliJ IDEA设置:- 进入
Build, Execution, Deployment > Compiler > Annotation Processors,勾选Enable annotation processing - 进入
Plugins,搜索Lombok并确认插件已启用
- 进入
检查JDK版本
SpringBoot 3.4.x要求JDK 17及以上,确保使用的JDK版本符合要求,且Lombok版本支持该JDK(Lombok 1.18.20+支持JDK17)排查父依赖插件覆盖问题
若项目中自定义了编译插件配置,需确保未覆盖SpringBoot父依赖中注解处理器的相关配置,必要时显式引入Lombok注解处理器。
内容的提问来源于stack exchange,提问作者Sena.D
相关产品推荐
相关产品推荐

