Spring Initializr 项目导致Unsupported class file major version 64

回答 4 浏览 1.2万 2023-03-29

当我使用 Springinitializr 创建新项目时,Gradle 不会构建该项目。我使用 IntelliJ IDEA。

错误信息是

* Exception is:
org.gradle.cache.CacheOpenException: Could not open init generic class cache for initialization script '/tmp/ijmapper.gradle' (/home/julius/.gradle/caches/7.6.1/scripts/dnnmnny7cynyzgkf00s30jlld).
    at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:91)
    ... 166+ more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 64

我使用此表查找它,它是java 20。问题是,我没有选择Java-20,我选择了Java-17。最重要的是,我还无法在我的 Linux 机器上安装 Java-20。

Julius Babies 提问于2023-03-29
4 个回答
#1楼 已采纳
得票数 29

我发现了问题:我的 Gradle 设置尝试使用 Java 20。我通过单击 Gradle -> 小齿轮 -> Gradle 设置,将 Gradle JVM 设置为 17 解决了这个问题。

Julius Babies 提问于2023-03-29
#2楼
得票数 6

我知道我来这个话题有点晚了。但是,我刚刚遇到了这个问题,我发现更新gradle-wrapper.jar可以解决这个问题。我通过在项目目录中运行 ./gradlew wrapper --gradle-version=8.1.1 --distribution-type=bin 来做到这一点。

来源:https://gradle.org/install/#helpful-information

RaymondNoodle 提问于2023-05-07
gradlew 对我来说失败了,我认为这是因为 gradlew 无论如何都被破坏了,所以你不能在第一次运行时运行它。将gradlew替换为gradle(与我的自制软件一起安装)解决了这个问题。Kassian Sun 2023-05-14
哦,是的,我道歉。我正在使用 IntelliJ。RaymondNoodle 2023-06-07
对我的情况有帮助Farkhod Abdukodirov 2023-07-04
#3楼
得票数 2

gradle 包装器版本需要更新。我尝试的命令如下

gradle wrapper --gradle-version 8.1.1

参考:https://docs.gradle.org/current/userguide/upgrading_version_7.html

Jay 提问于2023-05-29
#4楼
得票数 0

我假设您正在使用某种 IDE、Eclipse 或 IntelliJ 等。 IDE 的工作原理是,它是一个独立的生态系统,具有已预定义的 JDK/JRE。

我知道一个事实,当你安装一个新的 Eclipse 时,如果你

  1. 右键单击您的项目

  2. Properties

  3. Java Build Path

  4. Libraries Tab

  5. 单击 JRE System Library

  6. 单击编辑

  7. 安装的JRE

在该窗口中,Eclipse会将最新的JDK之一设置为默认值,这与你系统上安装的JDK无关。因此,例如,如果你下载了最新的Eclipse,它将在那里设置最新的JDK,这是Eclipse的一部分,这是需要删除的值,你明确设置你想使用的JDK,也就是你例子中的17。IDE的编译器版本也是如此,你也需要检查它是否有正确的值,在你的例子中是17。

Eclipse已经安装了JRE和Java编译器,IntelliJ有SDK和Java编译器。

IntelliJ 的 JDK 位置

  1. File > Settings > Build > Compiler > Java Compiler

  2. File > Project Settings > SDK and Language级别应为 17

  3. File > Project Settings > Modules > Dependencies选项卡顶部应有 17

  4. File > Project Settings > Modules > Sources选项卡顶部应有 17 –

另请记住,您还需要确保您的 pom/gradle 文件中也有 JDK17。

zawarudo 提问于2023-03-29
zawarudo 修改于2023-03-29
我使用 IntelliJ IDEA。 SDK设置为17.0.6Julius Babies 2023-03-29
你的编译器呢?File > Settings > Build > Compiler > Java Compiler?zawarudo 2023-03-29
另外,File > Project Settings > SDK and Language 级别应为 17zawarudo 2023-03-29
另外,File > Project Settings > Modules > Dependencies 选项卡顶部应有 17zawarudo 2023-03-29
很高兴我们修好了,干得好。zawarudo 2023-03-29