问题背景
遇到 java: 警告:源发行版 17 需要目标发行版 17 这种报错,核心问题通常是编译环境与运行环境的版本定义不一致。别急,咱们按顺序排查几个关键点。
一、验证 JDK 环境是否一致
首先确认本地安装的 JDK 版本。有时候系统里装了多个版本,但构建工具默认调用了旧版本。
检查命令:
java -version
javac -version
确保输出显示的是 JDK 17(如 17.0.11)。如果低于 17,建议直接安装 JDK 17。
验证构建工具使用的 JDK: Maven 和 Gradle 可能各自携带了不同的 JDK 环境,需单独确认:
mvn -v
gradle -v
看输出中的 Java version 字段,必须与项目要求的 17 保持一致。
二、修复构建工具配置
Maven 项目
在 pom.xml 中,除了父工程依赖,编译器插件的配置才是关键。Spring Boot 3.x 通常要求 JDK 17,但插件版本过低可能导致兼容性问题。
推荐配置:
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<!-- 推荐使用 release 标志,语义更明确 -->
<maven.compiler.release>17</maven.compiler.release>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0

