Unsupported class file major version 61 error

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

我正在尝试运行一个 flutter 应用程序,并且在尝试时出现了这个错误,我所做的是我想在没有 android studio 的情况下运行 flutter 应用程序,所以我在运行 flutter doctor 之后下载了 android SDK 和 JDK 17,它给出了我觉得一切都很好,我试着运行,但它给了我这个错误:

FAILURE: Build failed with an exception.

* Where:
Build file 'E:\Flutter Apps\first_app\android\build.gradle'

* What went wrong:
Could not compile build file 'E:\Flutter Apps\first_app\android\build.gradle'.
> startup failed:
  General error during semantic analysis: Unsupported class file major version 61
.............

所以我尝试了一个旧版本的 JDK,它给了我另一个错误,所以我看到了第三个运行 JDK 17 的解决方案,即降级 gradle.properties 中的 gradle,但它给了我第四个错误,也是任何人都知道这个错误的最终解决方案??

flutter
7个回答
26
投票

根据 DeveloperOmar 100 的回答,我找到了以下解决方案:

  1. 将您的 Java 版本切换到兼容版本,在我的例子中是 Java version 16.0.2

    要切换它,你必须设置你的路径。 (例如,对于 Mac,您可以使用

    java_home
    命令)。

  2. 检查你的 Gradle 版本并更新那个版本,所以它是兼容的(见 Gradle wrapper docs)所以在我的情况下我不得不改变

    distributionUrl
    中的
    android/gradle/wrapper/gradle-wrapper.properties
    属性:

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

2
投票

对我来说,升级 Gradle 解决了这个问题。我只需要在 gradle-wrapper.properties 文件中更改这一行:

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

1
投票

我在 Windows 计算机上试用 Kotlin/Compose 时遇到了同样的问题。我按照 https://github.com/JetBrains/compose-jb/tree/master/tutorials/Getting_Started

中的说明进行操作

纠结了几个小时,终于解决了我遇到的所有问题。

解决方案

  • 在 gradle 设置中更改了 Gradle JVM:11(版本 11.0.12)

  • build.gradle.kts中我删除了

    tasks.withType { kotlinOptions.jvmTarget = "16" }

问题的原因

我从安装开始

  • 最新的 JDK(版本 17)
  • IntelliJ IDEA 2021.3.2(社区版)

然后我使用以下设置创建了一个“hello world”示例:

  • 项目模板:Compose Desktop Application 使用 Kotlin 1.5.31

  • 构建系统:Gradle Kotlin

  • JDK 项目:17 Oracle OpenJDK 版本 17.0.2

  • 模板:Compose 桌面模块

  • 目标 JVM 版本:16

  • 测试框架:JUnit 5

创建项目时,我更新了 build.gradle.kts

plugins {
  kotlin("jvm") version "1.6.10"
  id("org.jetbrains.compose") version "1.0.1"
}

构建时的第一个错误

错误!源单元“BuildScript”中“语义分析”阶段异常不支持的类文件主要版本 61

我通过更改 gradle 设置解决了这个问题

  • Gradle JVM:11(版本 11.0.12)

现在构建没问题,但运行会失败

运行时的第二个错误

任务 ':run' 执行失败。 处理 'command 'C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot in\java.exe'' 以非零退出值 1

完成

这是通过删除解决的

tasks.withType<KotlinCompile> {
  kotlinOptions.jvmTarget = "16"
}

在 build.gradle.kts 中


1
投票

我遇到了同样的问题,在尝试了所有基于 jdk 的解决方案之后,结果发现我安装的 Gradle 已经过时 - 安装了 7.0.2,它不支持 JDK 17.

您可以使用以下命令检查您的 Gradle 版本:gradle -version

在此处检查特定版本的 Java 需要哪个 Gradle:https://docs.gradle.org/current/userguide/compatibility.html

更新到最新版本后,问题消失了: https://gradle.org/install/


0
投票

我有 java 17 并尝试执行 Junit 版本 4,这就是我遇到这个确切错误的地方。

但是我已经将我的 java 版本降级到 11,重新运行代码和 viola,这个错误消失了。

或者我可以在不影响 Java 版本 17 的情况下将 Junit 版本升级到 5,根据您的要求选择。


0
投票

解决方案

1,编辑gradle路径:6.7 => 7.3

2、更新类路径:4.1.0 => 7.0.0


-8
投票

只需从系统中删除 java 17。那对我有帮助

© www.soinside.com 2019 - 2024. All rights reserved.