Решение ошибки Gradle: Совместимость Java SE 8 и JDK 7

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Если у вас недостаточно времени изучать детали, просто обновите ваш Gradle для использования JDK 8. Задайте переменную окружения JAVA_HOME так, чтобы она указывала на JDK 8, или укажите путь к JDK непосредственно в файле gradle.properties:

Java
Скопировать код
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.

Кинга Идем в IT: пошаговый план для смены профессии

Совместимость версий: Gradle, JDK и IntelliJ

Осуществив согласование версий Gradle, JDK и IntelliJ IDEA, вы сможете успешно провести сборку проекта. Вот краткое руководство по совместимости версий:

Обновление совместимости версии Gradle

В файле build.gradle проверьте настройки sourceCompatibility и targetCompatibility, они должны быть установлены на значения 1.8:

groovy
Скопировать код
sourceCompatibility = 1.8
targetCompatibility = 1.8

Максимальное использование Gradle Wrapper

Широкое использование Gradle Wrapper позволяет обеспечить более надёжную сборку при командной работе. Установите требуемую версию wrapper с помощью команды gradlew wrapper --gradle-version X.Y.

Bash
Скопировать код
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.
Bash
Скопировать код
org.gradle.java.home=

Визуализация

Можно представить сборку Gradle в виде путешествия на поезде:

Markdown
Скопировать код
🚂: Экспресс Gradle

Пассажир: JDK 7 (1.7)

Markdown
Скопировать код
Попытка отправления: 🚂💭👤
Пункт назначения: Java SE 8 🏙️🌟
Результат: 🚫🛤️⚠️

Проблема заключается в том, что поезд JDK 7 не может достичь 'Города Java SE 8'.

Markdown
Скопировать код
Правильный билет: 🎟️ JDK 8 (1.8) или новее

Решение – обновить билет (JDK) для осуществления путешествия.

Markdown
Скопировать код
Успешное прибытие: 🚂✨👤 => 🏙️🌟

Другими словами, обновите JDK до версии, которая удовлетворяет требованиям Gradle.

Преодоление разрыва в средах

  • Используйте Docker контейнер или ВМ с определённым JDK для создания одинаковых сред на всех рабочих машинах, либо воспользуйтесь Gradle Wrapper.
  • Предотвратите расхождение версий при многопроектных настройках, используя управление версиями JDK и Gradle в корневом файле build.gradle.

Поддержка IntelliJ IDEA в актуальном состоянии

  • Для улучшения производительности настройте IntelliJ для использования локального дистрибутива Gradle, вместо предустановленной версии.
  • Не забывайте проверять настройки Build Tools в IntelliJ, так как они могут влиять на взаимодействие с Gradle.

Распространенные ошибки и способы их избежания

  • Проверьте, нет ли в build.gradle конфигураций или скриптов, зависящих от версии, которые могут помешать работе с настройками JVM.
  • Если вы используете инкрементальную компиляцию и другие функции, убедитесь в корректности инструментария, так как это может выявить зависимость от конкретной версии JDK.

Полезные материалы

  1. Toolchains for JVM projectsОфициальное руководство Gradle по обнаружению и решению проблем, связанных с JVM.
  2. Compatibility Matrix — Ознакомьтесь с совместимостью версий Java с различными выпусками Gradle.
  3. Обсуждение вопросов 'gradle+java' на Stack Overflow — Изучите реальные примеры и опыт других разработчиков, работающих с Gradle и Java.
  4. Home | Adoptium — Надежный источник предсобранных бинарных файлов OpenJDK (ранее известный как AdoptOpenJDK).
  5. Oracle Java SE Support RoadmapОфициальное руководство Oracle по поддержке различных версий Java SE.
  6. Java Platform, Standard Edition Oracle JDK Migration Guide, Release 14 — Подробная инструкция по переходу на новую версию JDK.