Gradle 8.7 在 IntelliJ 中找不到已安装的 JDK 22

问题描述 投票:0回答:1

我使用 IntelliJ IDEA Ultimate 版本 2024.1 创建了一个新项目。该版本支持新的 Java 22 (openjdk-22) 版本。但是当我重新加载我的 Gradle 项目时,它显示了这个错误:

Unsupported Gradle JVM.
Your build is currently configured to use Java 22 and Gradle 8.7.
Possible solutions:

- Use Java 21 as Gradle JVM: Open Gradle settings
- Upgrade to Gradle 8.5 and re-sync

还有这个:

FAILURE: Build failed with an exception.

* What went wrong:
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 66
> Unsupported class file major version 66

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

CONFIGURE FAILED in 69ms

在“项目结构”下,我选择了已安装的 Java 22 SDK。此外,所有模块都是 SDK 默认语言级别。

这些是我的 Gradle 属性:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

这是我的 build.kts:

plugins {
    id("java")
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

java {
    sourceCompatibility = JavaVersion.VERSION_22
    targetCompatibility = JavaVersion.VERSION_22

}
dependencies {
    testImplementation(platform("org.junit:junit-bom:5.10.0"))
    testImplementation("org.junit.jupiter:junit-jupiter")
}

tasks.test {
    useJUnitPlatform()
}
java windows gradle intellij-idea build
1个回答
3
投票

Gradle 8.7 无法在 Java 22 上运行

问题不在于 IntelliJ-IDEA 不支持 Java 22。问题在于 Gradle 不能在 Java 22 上运行(它仅支持为 Java 22 构建项目,但最高必须使用 Java 21 运行)。

来自 Gradle 8.7 发行说明

支持使用 Java 22 构建项目

Gradle 现在支持使用 Java 22 来编译、测试和启动其他 Java 程序。选择语言版本是使用工具链完成的。

您无法使用 Java 22 运行 Gradle 8.7 本身,因为 Groovy 仍然需要支持 JDK 22。但是,未来的版本预计将提供此支持。

© www.soinside.com 2019 - 2024. All rights reserved.