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

Noe*_*emi 7 java desktop-application gradle libgdx

我正在尝试为桌面游戏设置 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 
Run Code Online (Sandbox Code Playgroud)

小智 28

启动失败:语义分析期间出现一般错误:不支持的类文件主要版本 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
Run Code Online (Sandbox Code Playgroud)


Doa*_*Bui 15

Flutter当我运行两年前编写的旧项目时,出现了这个问题。我认为 Android 项目也会以同样的方式修复。我正在使用MacOSAndroid Studio Bumblebee

\n

首先,需要移动到该android文件夹​​并检查 gradle 版本:

\n
cd android \n./gradlew --version\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

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

\n

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

\n

当我打开Android的Flutter项目后

\n

在此输入图像描述

\n

转到Preferences->Build, Execution, Deployment \xe2\x86\x92 Build Tools \xe2\x86\x92 Gradle \xe2\x86\x92 并选择 JDK 版本 11。\n在此输入图像描述

\n

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

\n

在此输入图像描述

\n

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

\n

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

\n
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.15.jdk/Contents/Home\n
Run Code Online (Sandbox Code Playgroud)\n

保存并转到android文件夹并再次运行

\n
./gradlew --version\n
Run Code Online (Sandbox Code Playgroud)\n

它将显示 JDK 版本 11 正确。

\n

在此输入图像描述

\n

最后,运行flutter run

\n


Ten*_*r04 10

这不是 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
Run Code Online (Sandbox Code Playgroud)

如果您有一个较旧的 LibGDX 项目,则可能需要修改模块中的build.gradle文件以android与 Gradle 6 兼容。您可以复制粘贴以将copyAndroidNatives任务替换为此处的任务。