java - 如何在 IntelliJ IDEA 中修复 "unsupported class file major version 60"?

标签 java ubuntu intellij-idea groovy

我有一个 Gradle Ubuntu中的项目。它是用 Java 14 编写的。我安装了 Java 14 JDK。当我从命令行构建它时,一切正常,但没有人愿意使用命令行!当我在 IntelliJ IDEA 中打开它时,它会引发错误:

* Where:
Initialization script '/tmp/ijmapper.gradle`

* What went wrong:
Could not compile initialization script '/tmp/ijmapper.gradle`.
> Startup failed:
General error during semantic analysis: Unsupported class file major version 60.
接下来是一个冗长的、无用的堆栈跟踪,其中说了很多关于 Groovy 的信息。 (该项目不是 Groovy 项目;它是 Java 项目。)
Major version 60 refers to Java 16,这个项目没有使用。我已经进入项目结构并确保它设置为使用 JDK 版本 14。但名称“ijmapper”表明这与 IntelliJ 有特殊关系,这可能是 IDE 问题而不是项目问题。
映射器文件简单地说:if(!ext.has('mapPath')) ext.mapPath = { path -> path}换句话说,一个简单的 polyfill。
这是怎么回事,我该如何解决?

最佳答案

TL;博士; 您需要拥有 Java与您的Gradle 兼容的版本版本,并将 Gradle 配置为完全使用该版本(不是较旧的 Java,甚至不是较新的版本)。

我通过更改 IntelliJ 设置中的 Gradle JVM 设置解决了这个问题:

  • 设置/首选项 对话框,转到构建、执行、部署 → 构建工具 → Gradle。
  • Gradle 部分,更改 Gradle JVM 选项。选择 Gradle JVM 这对你有用。
    Enter image description here

  • Resolve the Gradle JVM version for the existing project

    关于java - 如何在 IntelliJ IDEA 中修复 "unsupported class file major version 60"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67079327/

    相关文章:

    java - 如何获取所有提交的 MultipartFiles,无论其名称如何

    linux - Elementary OS - LibreOffice/OpenOffice 冲突,Dpkg 错误(未满足的依赖项) - 陷入循环

    linux - 将文件移动到它们自己的目录中

    linux - 无线连接不佳 Ubuntu 14.04 LTS Ralink

    java - 实现 Tree 类的可比性

    Java Hibernate 无法连接 MySQL 数据库

    eclipse - IDEA 相当于 Eclipse "type hierarchy"(F4)?

    intellij-idea - 如何在 intellij 13 预览版中打开本地磁盘中的 sqlite db 文件

    windows-10 - 无法在 IntelliJ IDEA 中找到或加载主类来制作 Javafx jar

    java - 复杂类型的 JAXB 值