You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Gradle 8.5与Java 21构建Spring Boot项目时遇无效源版本错误

问题解决:Gradle编译报错“invalid source release: 21”

环境信息

  • Java版本:21
  • Gradle版本:8.5
  • IntelliJ版本:2023.2.2
  • Spring Boot版本:3.2.0

项目配置(build.gradle)

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.0'
    id 'io.spring.dependency-management' version '1.1.4'
}

group = 'com.acme.intranet-backend'
version '0.0.34-SNAPSHOT'

java {
    sourceCompatibility = '21'
}

报错信息

org.gradle.api.tasks.TaskExecutionException: 任务 ':intranet:compileJava' 执行失败。
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:148)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:146)
...
引起原因:java.lang.IllegalArgumentException: error: invalid source release: 21

解决方法

1. 强制Gradle使用Java 21

Gradle可能未正确识别Java 21,需在项目根目录创建gradle.properties文件,添加:

org.gradle.java.home=/你的Java21安装路径

替换路径为实际地址(如Windows:C:\Program Files\Java\jdk-21;macOS:/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home)

2. 同步IntelliJ的SDK配置

  • 打开File > Project Structure > Project,将Project SDK选Java 21,Project language level设为21 (Sealed classes, pattern matching for switch)
  • 进入Modules > Sources,确保Language level也设为21
  • 进入Build, Execution, Deployment > Build Tools > Gradle,在Gradle JVM下拉菜单选Java 21

3. 完善build.gradle的Java版本配置

在java块中同时指定目标兼容性,用枚举替代字符串避免拼写错误:

java {
    sourceCompatibility = JavaVersion.VERSION_21
    targetCompatibility = JavaVersion.VERSION_21
}

4. 清理并重新构建

  • IntelliJ中执行Build > Clean Project,再Build > Rebuild Project
  • 或终端运行:
./gradlew clean build

内容的提问来源于stack exchange,提问作者robert trudel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 07:32:50