Решение ошибки Gradle: Совместимость Java SE 8 и JDK 7
Быстрый ответ
Если у вас недостаточно времени изучать детали, просто обновите ваш Gradle для использования JDK 8. Задайте переменную окружения JAVA_HOME
так, чтобы она указывала на JDK 8, или укажите путь к JDK непосредственно в файле gradle.properties
:
org.gradle.java.home=C:/Java/jdk8
Помните, что вместо C:/Java/jdk8
следует указать актуальный путь к вашему JDK 8. После выполнения этого действия Gradle будет использовать требуемую версию Java.
В IntelliJ IDEA версии 2018.1.2 это можно настроить в разделе Build Tools -> Gradle -> Gradle JVM, выбрав установленный JDK 1.8.
Совместимость версий: Gradle, JDK и IntelliJ
Осуществив согласование версий Gradle, JDK и IntelliJ IDEA, вы сможете успешно провести сборку проекта. Вот краткое руководство по совместимости версий:
Обновление совместимости версии Gradle
В файле build.gradle
проверьте настройки sourceCompatibility
и targetCompatibility
, они должны быть установлены на значения 1.8
:
sourceCompatibility = 1.8
targetCompatibility = 1.8
Максимальное использование Gradle Wrapper
Широкое использование Gradle Wrapper позволяет обеспечить более надёжную сборку при командной работе. Установите требуемую версию wrapper с помощью команды gradlew wrapper --gradle-version X.Y
.
gradlew wrapper --gradle-version 7.2
Совместимость версий IntelliJ IDEA
- Проверьте в IntelliJ IDEA использование правильной Gradle JVM в разделе Settings | Build, Execution, Deployment | Build Tools | Gradle.
- В случае использования устаревшего варианта IntelliJ IDEA лучше произвести обновление, так как для поддержки новейших версий Java требуется соответствующая версия среды разработки.
Настройка вашего JDK
- Проверьте синхронизацию версии Java проекта после обновления JDK.
- Если при проверке совместимости вы столкнулись с проблемами, попробуйте различные настройки JDK, изменив путь в файле
gradle.properties
.
Проверка ваших свойств
- Удалите из
gradle.properties
все жёстко заданные свойства, которые могут вызвать проблемы, включая старые определения дляorg.gradle.java.home
.
org.gradle.java.home=
Визуализация
Можно представить сборку Gradle в виде путешествия на поезде:
🚂: Экспресс Gradle
Пассажир: JDK 7 (1.7)
Попытка отправления: 🚂💭👤
Пункт назначения: Java SE 8 🏙️🌟
Результат: 🚫🛤️⚠️
Проблема заключается в том, что поезд JDK 7 не может достичь 'Города Java SE 8'.
Правильный билет: 🎟️ JDK 8 (1.8) или новее
Решение – обновить билет (JDK) для осуществления путешествия.
Успешное прибытие: 🚂✨👤 => 🏙️🌟
Другими словами, обновите JDK до версии, которая удовлетворяет требованиям Gradle.
Преодоление разрыва в средах
- Используйте Docker контейнер или ВМ с определённым JDK для создания одинаковых сред на всех рабочих машинах, либо воспользуйтесь Gradle Wrapper.
- Предотвратите расхождение версий при многопроектных настройках, используя управление версиями JDK и Gradle в корневом файле
build.gradle
.
Поддержка IntelliJ IDEA в актуальном состоянии
- Для улучшения производительности настройте IntelliJ для использования локального дистрибутива Gradle, вместо предустановленной версии.
- Не забывайте проверять настройки Build Tools в IntelliJ, так как они могут влиять на взаимодействие с Gradle.
Распространенные ошибки и способы их избежания
- Проверьте, нет ли в
build.gradle
конфигураций или скриптов, зависящих от версии, которые могут помешать работе с настройками JVM. - Если вы используете инкрементальную компиляцию и другие функции, убедитесь в корректности инструментария, так как это может выявить зависимость от конкретной версии JDK.
Полезные материалы
- Toolchains for JVM projects — Официальное руководство Gradle по обнаружению и решению проблем, связанных с JVM.
- Compatibility Matrix — Ознакомьтесь с совместимостью версий Java с различными выпусками Gradle.
- Обсуждение вопросов 'gradle+java' на Stack Overflow — Изучите реальные примеры и опыт других разработчиков, работающих с Gradle и Java.
- Home | Adoptium — Надежный источник предсобранных бинарных файлов OpenJDK (ранее известный как AdoptOpenJDK).
- Oracle Java SE Support Roadmap — Официальное руководство Oracle по поддержке различных версий Java SE.
- Java Platform, Standard Edition Oracle JDK Migration Guide, Release 14 — Подробная инструкция по переходу на новую версию JDK.