Решение ошибки "invalid target release: 11" в IntelliJ IDEA
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Для устранения ошибки "некорректный целевой релиз: 11", вам потребуется настроить JDK 11 в IntelliJ IDEA следующим образом:
- Проверьте версию JDK 11, воспользовавшись командой
java -version
. - Откройте окно Структура проекта нажатием комбинации
Ctrl+Alt+Shift+S
. - Установите JDK 11 в качестве Project SDK.
- Установите Уровень языка проекта равным 11.
Версию Java для Maven можно указать в pom.xml
так:
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
В Gradle версию Java определите в build.gradle
следующим образом:
sourceCompatibility = '11' // Говорим Gradle, что мы работаем с Java 11
targetCompatibility = '11' // Запрашиваем совместимость кода с Java 11
После внесения всех изменений, пересоберите проект.
Проверка настроек и совместимости окружения разработки
Малейшие нюансы в конфигурации могут вызывать проблемы. Полезно удостовериться в следующем:
- Версия IDE: Убедитесь, что ваша версия IntelliJ IDEA совместима с JDK 11 (не старее, чем 2018.x).
- Параметры окружения: Убедитесь, что переменные окружения JAVA_HOME и Path корректно указывают на JDK 11.
- Настройки компилятора JDK: Важно, чтобы в настройках Java Compiler по умолчанию стояла JDK 11.
Как справиться с сложными ошибками
Сложные ошибки можно быть так же мешающими, как и пятно на белой рубашке. Вот пара советов:
- Уровень языка проекта: Уровень языка должен соответствовать вашей версии JDK – в данном случае, 11.
- Контрольные версии байт-кода: Сверьте версии байт-кода проекта и модулей с версией вашей JDK.
- Путь к проектному JDK: Если IntelliJ IDEA "потерялась", вы можете указать путь к JDK 11 вручную через окно Структура проекта.
- Постоянные ошибки: Происходят ли ошибки с папкой .idea/? Возможно, стоит удалить её и переоткрыть проект, чтобы исправить возможные искажения в конфигурационных файлах.
Управление JDK с помощью инструментов сборки
Инструменты сборки, такие как Maven и Gradle, могут облегчить работу с JDK:
- Maven: Явно укажите версию Java 11 в
pom.xml
. - Gradle: В
build.gradle
, для подтверждения использования Java 11, используйте JavaVersion.VERSION_11.
Диагностика сложных проблем
Если ваши настройки корректны, но проблемы всё ещё остаются, следуйте этому чек-листу:
- Проверьте пути IntelliJ IDEA: Если вы видите сообщение "не является действительным домашним каталогом", вернитесь к настройкам Структура проекта и добавьте JDK 11 заново.
- Проверка зависимостей проекта: Возможно, некоторые из них связаны с другой версией JDK?
- Старая версия IDE: Обновление IntelliJ IDEA до версии, совместимой с JDK 11, может решить вашу проблему.
Байт-код и вы
Байт-код — это своего рода мост между вашим кодом и JVM:
- Файлы проекта: Искажения в директории
.idea/
или в файле проекта (.iml) могут возникать, в таких случаях их следует удалять, позволяя IntelliJ воссоздать их заново. - Путь к JDK: Проверьте корректность указания пути к JDK 11 в настройках IntelliJ IDEA.
- Уровень языка: Обеспечьте корректное соответствие уровня языка версии вашей JDK, то есть установите его в 11.
Визуализация
Представим версии Java как этажи в библиотеке, а IntelliJ IDEA – как быстрого библиотекаря:
Этажи библиотеки (📚): [5, 6, 7 ... 10, 🎯11, 12, ...]
Уровни доступа библиотекаря (👨🏫): [5, 6, 7 ... 10, ❓, 12, ...]
Ошибка некорректного целевого релиза — так же, как попросить библиотекаря достать книгу с 11-го этажа, где он не может взять книгу.
Ваши настройки: Целевой релиз = 11
🔧 Решение:
1. Установите "лестницу" (JDK 11), затем
2. "Обучите" библиотекаря (IntelliJ):
– Добавьте этаж к его "лестнице" (выберите SDK = JDK 11)
– Покажите ему новый этаж (установите Уровень языка = 11)
Теперь библиотекарь полностью готов работать с 11-м этажом!
Командная строка на помощь
Командная строка может оказаться полезной, когда с IDE возникают проблемы:
- Используйте команды
javac
с опциями-source
и-target
, чтобы контролировать компиляцию кода. - Maven в командной строке:
mvn clean install
проверит, что сборка использует версию Java, указанную вpom.xml
. - Gradle в командной строке:
./gradlew build
применит настройки изbuild.gradle
.
Полезные материалы
- Настройка SDK | Документация IntelliJ IDEA — подробное руководство по настройке SDK.
- Обзор установки JDK — официальная инструкция по установке Java SE 11.
- Заметки к выпуску JDK 11 — ключевая информация о JDK 11.
- Настройка компилятора Maven — как настроить Maven для работы с Java.
- Плагин Java для Gradle — подробности о использовании Gradle в проектах на Java.
- Maven в IntelliJ IDEA — инструкция по настройке Maven.
- Смена Java runtime в IDEA — как переключиться на Java 11 в IntelliJ IDEA.