4

只是尝试使用 jdk17 创建一个 Gradle 项目,面临以下问题。我知道 JDK 17 需要 Gradlew 7.3,但不确定我应该从哪里设置 Gradle 的版本

在此处输入图像描述

摇篮位置

在此处输入图像描述

摇篮版本

在此处输入图像描述

4

6 回答 6

5

这是因为当前版本的 IntelliJ(2021.2.3)不知道 gradle 7.3。要解决此问题,请在对话框中按“是”。创建项目后,将distributionUrlgradle/wrapper/gradle-wrapper.properties 更改为https\://services.gradle.org/distributions/gradle-7.3-bin.zip. 刷新项目后,它应该能够构建。

于 2021-11-18T08:46:36.920 回答
1

我已经重现了同样的问题:

不支持的项目 JDK

找不到 JDK 17 支持的 Gradle 版本。Gradle 支持 JDK 版本 7 到 16。

使用Java 17& Gradle 7.3& Windows 10

但是,正如我从兼容性矩阵中Java 17看到的那样, &一定没有问题Gradle 7.3

在此处输入图像描述

作为临时解决方法,它可以使用Java 15而不是Java 17with来解决Gradle 7.3,但对我来说,它看起来像是一个与Intellij IDEA 2021.2.2 (Ultimate Edition | Build #IU-212.5284.40, built on September 14, 2021)+相关的错误Java 17,所以我在 YT 上开了一张票:

找不到 JDK 17 支持的 Gradle 版本。Gradle 支持 JDK 版本 7 到 16。

我也使用Gradle: 5.6.4, 6.1, 7.1,的版本重现了同样的问题7.3

在我降级Java 17到.Intellij IDEAJava 15

需要注意的是:这是一个专门与Java 17+相关的错误,它与+Intellij IDEA 2021.2.2 (Ultimate Edition | Build #IU-212.5284.40, built on September 14, 2021)无关。GRADLE_HOMEGRADLE_HOME/bin

于 2021-11-14T17:23:05.867 回答
0

假设您要切换 gradle 的版本,最好的方法是使用版本管理器。

我个人使用开源的sdkman,它为 Java、Maven、Gradle 等主要工具提供支持。

好处是您可以安装多个版本并在它们之间切换,而无需处理环境变量。

# installing
$ sdk install gradle 6.7.1

# switching version
$ sdk use gradle 6.7.1

# set as default version
$ sdk default gradle 6.7.1 
于 2021-11-14T15:10:12.587 回答
0

2021.2 IDE 版本为新项目使用 7.2 Gradle 版本。在那个 IDE 版本发布的那一刻,没有支持 17 JDK 版本的 Gradle 版本。现在,您可以更新到 2021.3 IDE 版本,其中 Gradle 版本已更新到现在支持 17 JDK 的 7.3。预览版本可从此页面获得。

于 2021-11-15T10:12:10.727 回答
0

我不确定您使用的是哪个版本的 IntelliJ,它可能随 Gradle 7 版本一起提供。在我的情况下也是 7 版本,但在创建项目后,只需设置 gradle 7.3 位置。对我来说,gradle 7.3 成功构建了 JDK 17。

在此处输入图像描述

于 2021-11-17T21:29:50.087 回答
0

我以某种方式让 Java 17 与 Gradle 7.2 一起工作(使用 IntelliJ IDEA 2021.2.2 社区版和 Windows 10)。

我单独安装了 Gradle 7.2。这是我在 IntelliJ 中配置的:

  • 文件 » 设置
  • 然后在左侧导航菜单Build, Execution, Deployment » Build Tools » Gradle
  • Gradle JVM设置为17
  • Use Gradle from:设置为Specified location并选择 Gradle 7.2 的路径。

您还可以尝试在以下范围内显式设置 Java 语言版本build.gradle

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}
于 2021-11-15T20:33:54.827 回答