如何在 IntelliJ IDEA 中修复“不支持的类文件主要版本 60”?

新手上路,请多包涵

我在 Ubuntu 中有一个 Gradle 项目。它是用 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 项目。)

主要版本 60 是指本项目未使用的 Java 16 。我已经进入 项目结构 并确保它设置为使用 JDK 版本 14。但是“ijmapper”这个名称表明这与 IntelliJ 有特殊关系,这可能是 IDE 问题而不是项目问题。

映射器文件简单地说:

if(!ext.has('mapPath')) ext.mapPath = { path -> path}

换句话说,一个简单的 polyfill。

这是怎么回事,我该如何解决?

原文由 Mason Wheeler 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

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


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

  • Settings/Preferences 对话框中,转到 Build, Execution, DeploymentBuild ToolsGradle

  • Gradle 部分下,更改 Gradle JVM 选项。选择适合您的 Gradle JVM

在此处输入图像描述

参见 _Resolve the Gradle JVM version for the existing project_

原文由 Yu Jinyan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题