java: 警告: 源发行版 17 需要目标发行版 17
错误
java: 警告: 源发行版 17 需要目标发行版 17
要解决“java: 无效的目标发行版: 17”错误,需从JDK版本、构建工具配置、环境变量、IDE设置、依赖兼容性五个维度系统性排查。以下是具体步骤和解决方案:
一、验证JDK版本与一致性
- 安装JDK 17:
- 官方下载:Oracle JDK 17
- 开源替代:Adoptium Temurin JDK 17
验证构建工具使用的JDK:
mvn -v# Maven使用的JDK版本 gradle -v# Gradle使用的JDK版本确保与项目配置的JDK 17一致。
检查已安装的JDK版本:
java-version javac -version确保输出显示JDK 17(如17.0.11)。若版本低于17,需安装JDK 17。
二、修复构建工具配置
Maven项目
检查父项目依赖:
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.0</version><!-- 支持JDK 17的版本 --></parent>更新编译器插件:
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.11.0</version><!-- 支持JDK 17的最低版本 --></plugin></plugins></build>统一版本声明:
<properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><maven.compiler.release>17</maven.compiler.release><!-- 推荐使用release标志 --></properties>Gradle项目
显式设置兼容性:
tasks.withType(JavaCompile){ sourceCompatibility =17 targetCompatibility =17}配置Java工具链:
java { toolchain { languageVersion = JavaLanguageVersion.of(17)}}三、检查环境变量
- JAVA_HOME:
- 指向JDK 17安装目录(如
C:\Program Files\Java\jdk-17)。 - 验证:终端执行
echo %JAVA_HOME%(Windows)或echo $JAVA_HOME(Linux/macOS)。
- 指向JDK 17安装目录(如
- PATH:
- 包含
%JAVA_HOME%\bin(Windows)或$JAVA_HOME/bin(Linux/macOS)。
- 包含
四、IDE配置检查
IntelliJ IDEA
- 项目设置:
File > Project Structure > Project:设置Project SDK和Project language level为17。Modules > Sources:确保语言级别为17。
- 全局设置:
File > Settings > Build, Execution, Deployment > Compiler > Java Compiler:设置Target bytecode version为17。