Решение ошибки «Unsupported class file version 60» в IntelliJ IDEA
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Для исправления ошибки "unsupported class file major version 60" вам нужно настроить ваш проект в IntelliJ IDEA для работы с Java 16.
Исполните следующие шаги:
- Project SDK: откройте меню по пути
File > Project Structure > Project
и укажите Java 16 SDK. Если вы используете Maven или Gradle, то в файлах
pom.xml
илиbuild.gradle
установите версию Java на 16:– Для Maven:
<properties> <maven.compiler.source>16</maven.compiler.source> <maven.compiler.target>16</maven.compiler.target> </properties>
– Для Gradle:
java { toolchain { languageVersion.set(JavaLanguageVersion.of(16)) } }
Запустите пересборку проекта: открыв меню
Build > Rebuild Project
.
Вуаля! Теперь версии JDK и байт-кода совпадают, и ошибка исправлена.
Детальный гайд по исправлению с использованием Gradle
Обновление Gradle: Обновите свой Gradle до версии 7.0 и выше, чтобы поддерживать Java 16:
# Вписать следующую строку в файл gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip
Конфигурация IntelliJ: Настройте Gradle JVM в IntelliJ на версию JDK, которая используется в вашем проекте:
File > Settings > Build, Execution, Deployment > Build Tools > Gradle
Затем в поле Gradle JVM
укажите необходимую версию Java.
Переменные окружения: Проверьте, указывает ли JAVA_HOME на версию JDK, используемую в проекте:
export JAVA_HOME=/path/to/jdk-16
Смена JDK: При необходимости вы можете использовать JDK 15, эта версия хорошо совместима.
Проверка совместимости зависимостей: Убедитесь, что все ваши зависимости совместимы с Java 16.
Визуализация
Представьте ошибку "unsupported class file major version 60" как несоответствие между ключом и замком:
Пусть у вас есть ключ 🔑 (Java SDK), и вы пытаетесь открыть замок🚪 (байт-код).
IntelliJ IDEA пытается справиться с этой задачей:
🧠💭 "Попробуем применить наш шлифованный ключ Java SDK версии 55 к этому замку."
Возникает ошибка: 🚨 Unsupported class file major version 60 🚨
🔑🚪 Версии не соответствуют друг другу!
Решение: ⚙️ Воспользуйтесь ключом после обновления! Обновите версию Java до 60.
🔑 Версия 60 ✅ Теперь она подходит для замка-байткода 🚪.
🎉 Работа закончена! Ошибка "unsupported class file major version 60" успешно исправлена.
Настройка IntelliJ для вашего JDK
Изменение структуры проекта: Во вкладке Project Structure IntelliJ IDEA удостоверьтесь, что Module SDK в разделе Modules > Dependencies
соответствует версии вашего Java SDK.
Обновление версий Java: Рекомендуется закрыть все открытые терминалы и экземпляры IntelliJ IDEA до внесения изменений, чтобы избежать проблем с кешированием.
Изменения в Gradle через IntelliJ: Если вы не можете настроить Java 16 прямо в IntelliJ, то сделайте это через файл build.gradle
:
plugins {
id 'java'
}
sourceCompatibility = 16
targetCompatibility = 16
Конфигурация Gradle: Возникновение проблем с настройкой Gradle может быть связано со сценариями инициализации и файлами соответствия, учтите это.
Изменения URL для Gradle Distribution: После обновления gradle-wrapper.properties
проверьте дважды версию Gradle в настройках IntelliJ IDEA.
Полезные материалы
- Документация IntelliJ IDEA по SDK — как установить Project SDK в IntelliJ IDEA.
- Release Notes JDK 11 — об изменениях версий классовых файлов начиная с JDK 11.
- Настройка версии Java в Maven — как установить версию Java для проектов Maven.
- Использование Toolchains Java в Gradle — руководство по указанию версии Java.
- Версии формата классовых файлов Java — обсуждение на Stack Overflow с представлением списка версий.
- Понимание ошибок версий классов Java — руководство по диагностике и исправлению ошибок, связанных с версиями классов.
- Решение проблем версий JVM в зависимостях проекта — как разрешить конфликты версий JVM в зависимостях проекта.