Skip to content

/errors/gradle/unsupported-class-file-major-version

Gradle: Unsupported class file major version 65

The commands on this page have not been executed by our verification runner yet.updated
tool
Gradle
exit code
1
versions
Gradle 7 – 9
os
any

Unsupported class file major version 65 means a part of the build (Gradle's Groovy compiler, or ASM inside Gradle or a plugin) tried to read a class file compiled for a newer Java than it understands. Major version 65 is Java 21, 66 is Java 22, 69 is Java 25. In practice, Gradle is running on a JDK that is too new for its version. Upgrade the Gradle wrapper to a release that supports your JDK, or run Gradle with an older JDK.

Major version to Java version

Class file major versionJava
528
5511
6117
6521
6622
6723
6824
6925

Each Java release adds 1 to the major version (Java N has major version N + 44).

Fix 1: upgrade the wrapper

bash
./gradlew --version                              # Gradle version and the JVM running it
./gradlew wrapper --gradle-version 9.1.0         # pick a version that supports your JDK
./gradlew --version

The Gradle compatibility matrix lists, for each Java version, the first Gradle version that can run on it; for example Java 17 needs Gradle 7.3 or later and Java 21 needs Gradle 8.5 or later. If the old wrapper cannot even start on the new JDK, run the wrapper task with a supported JDK first, or edit distributionUrl in gradle/wrapper/gradle-wrapper.properties by hand.

Fix 2: run Gradle on a supported JDK

gradle.properties
# JDK used to run Gradle itself (path is an example)
org.gradle.java.home=/usr/lib/jvm/java-17-openjdk

In IntelliJ IDEA the setting is Settings > Build Tools > Gradle > Gradle JDK; in Android Studio it is the Gradle JDK under the Gradle settings. Then compile for any Java version with a toolchain:

build.gradle
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(21)
    }
}

Sources