Spring Boot 3与Lombok兼容问题求助:升级后编译报错
Spring Boot 3 与 Lombok 兼容解决编译错误方案
以下是解决Spring Boot 3升级后Lombok编译错误的具体步骤:
升级Lombok到兼容版本
Spring Boot 3基于Java 17,要求Lombok版本至少为1.18.24,建议使用最新稳定版来避免兼容性问题。
Maven依赖配置:<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <scope>provided</scope> </dependency>Gradle依赖配置:
compileOnly 'org.projectlombok:lombok:1.18.30' annotationProcessor 'org.projectlombok:lombok:1.18.30' testCompileOnly 'org.projectlombok:lombok:1.18.30' testAnnotationProcessor 'org.projectlombok:lombok:1.18.30'同步更新IDE的Lombok插件
不管是IntelliJ IDEA还是Eclipse,都需要将Lombok插件升级到支持Java 17的版本,否则IDE会无法识别Lombok生成的代码(即使编译通过,IDE可能仍会标红报错)。确保注解处理器配置正确
Maven项目需要在maven-compiler-plugin中明确配置注解处理器路径,并指定Java版本为17:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>17</source> <target>17</target> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> </path> </annotationProcessorPaths> </configuration> </plugin>Gradle项目需确保启用注解处理器,同时指定Java版本:
java { sourceCompatibility = '17' targetCompatibility = '17' }清理缓存并重建项目
执行清理编译命令清除旧缓存:- Maven:
mvn clean install - Gradle:
./gradlew clean build
同时在IDE中清理缓存(比如IntelliJ IDEA执行File -> Invalidate Caches...),避免旧编译残留导致的错误。
- Maven:
检查特定注解兼容性
大部分常用注解(如@Data、@Builder、@Getter/@Setter)在新版Lombok中都兼容Java 17,但如果使用了@Accessors等高级注解,若出现报错可查看Lombok版本变更日志确认适配情况,必要时调整注解用法或升级到更高版本。
内容的提问来源于stack exchange,提问作者Łukasz Rzeszotarski
相关产品推荐
相关产品推荐

