语义分析期间的一般错误:不支持的类文件主要版本 57

问题描述 投票:0回答:7

我正在尝试为桌面游戏设置 libgdx,当我尝试生成项目时出现此错误并且构建失败。 我有最新版本的 Java(13.0.2) 和 Gradle(6.6),两者都设置为路径中的环境变量。有人可以帮助我吗?

错误看起来像这样:

Could not compile settings file 'C:\Users\noemi\Desktop\Test\settings.gradle'.
> startup failed:
  General error during semantic analysis: Unsupported class file major version 57
  
  java.lang.IllegalArgumentException: Unsupported class file major version 57 
java gradle libgdx desktop-application
7个回答
28
投票

这不是 LibGDX 问题。 Gradle 5 与 Java 13 不兼容。您需要将 Gradle(项目中的包装版本)更新到 Gradle 6 或更高版本,或者需要使用较低版本的 JRE。

要更新包装的 gradle,请转到项目中的

gradle/wrapper/gradle-wrapper-properties
并更新版本号。我正在使用6.1.1。

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

如果您有较旧的 LibGDX 项目,则可能需要修改

build.gradle
模块中的
android
文件才能与 Gradle 6 兼容。您可以复制粘贴以将
copyAndroidNatives
任务替换为 此处的任务 .


24
投票

启动失败: 语义分析期间的一般错误:不支持的类文件主要版本 61

如何解决此反应本机问题 JAVA JDK 17

进入你的react-native项目的android/目录

使用以下行创建一个名为 local.properties 的文件:

sdk.dir=C:\Android\sdk

后藤 android\gradle\wrapper\gradle-wrapper.properties

改变

distributionUrl=https://services.gradle.org/distributions/gradle-6.7-all.zip

distributionUrl=https://services.gradle.org/distributions/gradle-7.3-all.zip

转到

android\gradle.properties 添加这一行

org.gradle.jvmargs=-Xmx1536M --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED

12
投票

当我运行 2 年前编写的旧

Flutter
项目时,出现了这个问题。我认为 Android 项目也会以同样的方式修复。我正在使用
MacOS
Android Studio Bumblebee

首先,需要移动到

android
文件夹并检查gradle版本:

cd android 
./gradlew --version

显示Gradle版本

6.7.1
,需要注意JVM行,我的JDK版本是15.0.2。对于这个项目来说太新了。所以你必须
downgrading
从打开的jdk版本到旧版本或者
upgrade
gradle/wrapper/gradle-wrapper.properties
中的Gradle版本到新版本。

如果您降级JDK版本,可以从this下载。就我而言,我从 Java SE 15 降级到 Java SE 11。

我打开Android的Flutter项目后

转到

Preferences->Build, Execution, Deployment → Build Tools → Gradle → 
并选择 JDK 版本 11。

转到“构建”->“清理项目”->“重建项目”。

转到

Terminal
运行
java --version
,如果仍然显示JE版本15那么你必须先设置JAVA_HOME。

您只需将以下内容添加到您的

.bash_profile
.zshrc

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.15.jdk/Contents/Home

保存并转到

android
文件夹并再次运行

./gradlew --version

它将正确显示 JDK 版本 11。

最后,运行

flutter run


3
投票

我降级了 gradle 文件,这就是为什么会发生这个错误,所以最后我必须更改 Gradle 包装文件

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip

2
投票

如果您使用的是 Eclipse,请转到

Eclipse > Preferences > Gradle

更新

Java home
以指向 Java 主位置


0
投票

使用以下链接检查 gradle 版本和捆绑版本 链接 https://developer.android.com/studio/releases/gradle-plugin#updating-gradle

如果要升级 android/gradle/build.gradle 更改依赖项 classpath 'com.android.tools.build:gradle:[最新版本]'


0
投票

Java(13.0.2) 和 Gradle(6.6) 不兼容。

修复

您可以:

  • 将 JDK 版本更改为 14。环境变量路径
    JAVA_HOME
  • 或者将 JDK 保留为 13.x 并将 Gradle 版本更改为 6.0 。在您的项目
    gradle/wrapper/gradle-wrapper.properties
    中,将行更改为
    distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip
    可用的 Gradle 发行版

如何知道兼容版本?

Java 兼容性表

检查此https://docs.gradle.org/current/userguide/compatibility.html

Java版本 第一个支持它的 Gradle 版本
8 2.0
9 4.3
10 4.7
11 5.0
12 5.4
13 6.0
14 6.3
15 6.7
16 7.0
17 7.3
18 7.5
19 7.6
20 8.1⚠
© www.soinside.com 2019 - 2024. All rights reserved.