#Что означает ошибка
JAVA_HOME is not set
Gradle требует совместимую версию JDK. Установите JDK, задайте JAVA_HOME и подберите версию Gradle.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| JAVA_HOME не задан | JAVA_HOME пуст или указывает на папку bin. | Установите путь на корень JDK. |
| Несовместимый JDK | Версия class file выше поддерживаемой JVM. | Сверьте JDK с совместимостью Gradle. |
| Старый Gradle | Gradle wrapper не поддерживает выбранную Java. | Обновляйте wrapper только согласованно с проектом. |
| Кэш | Проект использует устаревшие файлы сборки. | Проверьте версию wrapper прежде очистки кэша. |
#Пошаговое решение
- Разделите две разные ошибкиВ терминале корня проекта выполните
java -versionи команду Gradle wrapper: Linux/macOS./gradlew --version, Windowsgradlew.bat --version. ЕслиJAVA_HOME is not set, переменная отсутствует/указывает не на JDK; еслиUnsupported class file major version, версия Java или Gradle не совместима со скомпилированным компонентом. Запишите обе версии прежде изменений. - Найдите установленный JDKНа Windows откройте Проводник и найдите папку JDK, содержащую
bin\java.exe, например внутриC:\Program Files\Java; на macOS выполните/usr/libexec/java_home -V; на Linux —readlink -f "$(command -v javac)".JAVA_HOMEдолжен указывать на корень JDK безbin, а не на установщик или папку проекта. - Установите подходящую версию и настройте окружениеСверьте файл
gradle/wrapper/gradle-wrapper.properties, настройки проекта и таблицу совместимости Java/Gradle на официальном сайте Gradle. Для Windows откройте «Поиск → Изменение системных переменных среды → Переменные среды», задайте пользовательскуюJAVA_HOMEпутём JDK; в Linux/macOS задайте переменную в конфигурации используемой оболочки. Не меняйте глобальную Java на сервере с другими проектами без согласования. - Проверьте повторной сборкойОткройте новое окно терминала, убедитесь, что Gradle wrapper показывает требуемую JVM, затем запустите
./gradlew buildилиgradlew.bat buildсогласно ОС. Если сообщение о major version повторилось, сравните версию class file с версией JDK, проверьте плагины сборки; удаление.gradleвслепую не исправляет несовместимость версий.
#Если проблема осталась
Если «Gradle: JAVA_HOME is not set / Unsupported class file major version» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.