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作为开发语言。

但系统提示: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
相关产品推荐
相关产品推荐

