通过 spring io 下载一个 spring boot 框架,选择了 spring boot 3.0.0,java 选择了 8。但下载到本地解压发现,<java.version> 版本还是 17,将其修改成 1.8,点击右侧的加载 Maven 变更按钮,然后运行 demo 项目报错:

无法访问org.springframework.boot.SpringApplication
错误的类文件: D:\Maven\repository\org\springframework\boot\spring-boot\3.0.0\spring-boot-3.0.0.jar(org/springframework/boot/SpringApplication.class)
类文件具有错误的版本 61.0, 应为 52.0
请删除该文件或确保该文件位于正确的类路径子目录中。

网上找了一下报错原因,原来 sprint boot 3.0.0 依赖的是 springframework 6,要求的版本为 17 及以上版本。

Spring Boot 3.0 requires Java 17 as a minimum version. If you are currently using Java 8 or Java 11, you’ll need to upgrade your JDK before you can develop Spring Boot 3.0 applications.

Spring Boot 3.0 requires Java 17 or later. Java 8 is no longer supported. It also requires Spring Framework 6.0.

—— 摘自 Spring Boot 3.0 Release NotesSpring Boot 3.0 Migration Guide

所以要么放弃 java 8,使用更高版本的 17+,要么放弃 spring boot 3.0.0,使用 2.7.* 版本。当前最新的是 2.7.6,修改 <parent><version> 后点击加载 Maven 更新即可。