如何在IntelliJ中修复“不受支持的类文件主要版本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。
有谁知道这里发生了什么以及如何解决它?我已经浪费了一天的时间来尝试让它发挥作用,我快到这里了!
回答
我通过更改 IntelliJ 设置中的 Gradle JVM 设置解决了这个问题:
-
在设置/首选项对话框中,转到构建、执行、部署 | 构建工具 | 摇篮。
-
在Gradle部分下,更改Gradle JVM选项。
见https://www.jetbrains.com/help/idea/gradle-jvm-selection.html#jvm_settings
- Mentioning what setting worked for you and hat you had previously would help.
回答
对我来说,通过升级 Gradle 版本来修复。
在目录下的文件中gradle/wrapper/gradle-wrapper.properties,修改gradle的版本号即可。例如,如果您的 gradle 版本是6.3,请更改以下内容:
distributionUrl=https://services.gradle.org/distributions/gradle-6.3-bin.zip
到:
distributionUrl=https://services.gradle.org/distributions/gradle-7.0-bin.zip
不适File -> Project Structure -> Project用于我正在处理的项目。
回答
将 Gradle 版本 6.8.3 升级到 7.0 解决了我的问题。你可以升级它
- 文件 -> 项目结构 -> 项目(在左侧面板上)
- 更改 Gradle 版本 7.0
它适用于 Android Gradle 插件版本 4.2.0
回答
对我来说,(在Flutter 中)问题是我使用的是 Java JDK version 16,但某些软件包不支持version 16 。
所以,我降级到 JDK 版本15。
在 Windows 上,我执行了以下操作:
-
关闭您当前的 IDE/终端(不要跳过此步骤)。
-
卸载当前的 Java JDK 并重新启动计算机。
-
从这里下载并安装 Java JDK 版本 15 (您需要创建一个帐户才能下载)。
-
更新
JAVA_HOME环境变量。