升级JDK 21后Spring Boot项目编译报错,如何兼容Java 21+?
解决JDK 21升级后Spring Boot项目编译报错问题
这个报错源于项目依赖的编译工具或Spring Boot版本与JDK 21不兼容,可通过以下步骤解决:
升级Spring Boot到兼容版本
Spring Boot 3.2及以上版本正式支持JDK 21,修改pom.xml中的父依赖版本:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.5</version> <!-- 可替换为更高稳定兼容版本 --> <relativePath/> </parent>升级Maven编译插件
旧版maven-compiler-plugin不支持JDK 21的语法树结构,需升级到3.11.0及以上版本,在pom.xml的build/plugins节点下配置:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.12.1</version> <!-- 推荐使用最新稳定版 --> <configuration> <source>21</source> <target>21</target> </configuration> </plugin>检查第三方依赖兼容性
确保项目中其他依赖(如Lombok、MyBatis等)也升级到支持JDK 21的版本,比如Lombok需使用1.18.30及以上版本,避免依赖冲突引发反射错误。清理并重新构建项目
执行以下Maven命令清理缓存并重新编译:mvn clean install
内容的提问来源于stack exchange,提问作者Honza Zidek
相关产品推荐
相关产品推荐

