错误现象
java: 警告:源发行版 17 需要目标发行版 17
遇到这个报错别慌,本质上是编译器发现你用来编译的代码版本(Source)和期望生成的字节码版本(Target)没对上。要解决这个问题,我们需要从 JDK 环境、构建工具配置、环境变量以及 IDE 设置这几个方面系统性地排查。
一、验证 JDK 版本与一致性
首先确保你的开发环境确实安装了 JDK 17。
安装 JDK 17
- 官方下载:Oracle JDK 17
- 开源替代:Adoptium Temurin JDK 17
验证构建工具使用的 JDK 在终端执行以下命令,确认 Maven 和 Gradle 调用的 JDK 版本是否正确:
mvn -v
gradle -v
输出中应显示 JDK 版本为 17。如果显示的是其他版本,说明环境变量或工具配置指向了错误的 JDK。
检查已安装的 JDK 版本 运行以下命令查看当前系统默认版本:
java -version
javac -version
确保输出包含 17.0.x 字样。如果版本低于 17,请重新安装 JDK 17 并更新环境变量。
二、修复构建工具配置
Maven 项目
检查父项目依赖
Spring Boot 3.x 及以上版本通常要求 JDK 17,请确认 pom.xml 中的父依赖版本支持:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.0</version>
</parent>
更新编译器插件
确保 maven-compiler-plugin 版本足够新以支持 JDK 17:
<build>
<plugins>
<>
org.apache.maven.plugins
maven-compiler-plugin
3.11.0

