运行SpringBoot应用时Java版本不兼容错误的解决咨询
问题解决步骤
1. 先确认环境变量是否真正生效
你虽然改了JAVA_HOME,但旧终端不会自动加载新的环境变量,必须打开全新的终端,执行以下命令验证:
- 执行
echo %JAVA_HOME%,确认输出是C:\Program Files\OpenJDK\jdk-21.0.1 - 执行
java -version,如果还是显示Java11,说明系统PATH里Java11的路径优先级比21高,得调整。
2. 调整系统PATH的优先级
- 右键「此电脑」→ 属性 → 高级系统设置 → 环境变量
- 在系统变量的
PATH列表里,找到C:\Program Files\OpenJDK\jdk-21.0.1\bin,把它拖拽到最顶部(确保它在Java11的bin路径前面) - 保存后关闭所有终端,重新开一个终端,再执行
java -version,确认显示Java21版本。
3. 检查pom.xml的关键配置
Spring Boot 3.x才支持Java17及以上版本,同时要确保pom里的Java版本配置和你用的一致:
<properties> <!-- 必须明确指定Java21 --> <java.version>21</java.version> </properties> <!-- 确保Spring Boot版本是3.x(比如3.2.x),2.x不支持Java21 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.0</version> <relativePath/> </parent>
4. 重新打包并运行
- 在项目根目录执行
mvn clean package(用Maven的话),确保用Java21环境重新编译整个项目 - 然后再执行
java -jar quickstart2-0.0.1-SNAPSHOT.jar
内容的提问来源于stack exchange,提问作者REVA
相关产品推荐
相关产品推荐

