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

Spring Boot3.4.4+Java24+Gradle8.13不兼容问题求解

Spring Boot 3.4.4 + Gradle 8.13 + Java 24 构建不兼容问题

我刚初始化了一个Spring Boot 3.4.4项目,使用Gradle Groovy构建工具、Java 24作为开发语言。

Spring Boot 3.4.4与Java 24、Gradle组合构建失败提示不兼容

但系统提示:
Your build is currently configured to use incompatible Java 24 and Gradle 8.13. Cannot sync the project.

项目配置文件

build.gradle 配置

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

group = 'com.mua'
version = '0.0.1-SNAPSHOT'

java {
  toolchain {
    languageVersion = JavaLanguageVersion.of(24)
  }
}

repositories {
  mavenCentral()
}

dependencies {
  implementation 'org.springframework.boot:spring-boot-starter'
  testImplementation 'org.springframework.boot:spring-boot-starter-test'
  testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

tasks.named('test') {
  useJUnitPlatform()
}

gradle-wrapper.properties 配置

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

我可以轻松降级到Java 23或22,但想了解为何该配置会被提供,更重要的是如何让当前配置正常运行?


为什么会生成这个不兼容的配置?

  • Spring项目初始化工具在生成项目时,优先绑定Spring Boot版本对应的默认Gradle版本,未实时校验最新Java版本与该Gradle版本的兼容性。
  • Spring Boot 3.4.4默认匹配的Gradle版本是8.13,但Gradle 8.x系列官方支持的Java版本上限是23,Java 24属于刚发布的版本,Gradle 8.13还未完成适配。

解决办法:升级Gradle到支持Java 24的版本

Gradle 9.0及以上版本正式支持Java 24,只需修改gradle-wrapper.properties中的distributionUrl为Gradle 9.x的发行地址即可:

修改后的gradle-wrapper.properties:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

修改完成后重新同步项目,即可正常构建。

额外注意:

  • Spring Boot 3.4.4与Gradle 9.x版本兼容,无需调整Spring Boot相关配置。
  • 确保IDE已安装Java 24的JDK,项目的Java工具链配置(JavaLanguageVersion.of(24))保持不变即可。

内容的提问来源于stack exchange,提问作者Maifee Ul Asad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:46:19