我有一个 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 设置解决了这个问题:
见 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/