Error invalid source release 17
Я создал новый проект Java в IntelliJ с Gradle, который использует Java 17. При запуске моего приложения возникает ошибка Cause: error: invalid source release: 17 .
Мои настройки
Я установил openjdk-17 через IntelliJ и установить его в качестве моего Project SDK .
Уровень языка проекта Было установлено 17 – Закрытые типы, всегда строгая семантика с плавающей запятой .
В Модули -> Исходные тексты Я установил Уровень языка для проекта по умолчанию (17 — запечатанные типы, всегда строгая семантика с плавающей запятой).
В Modules -> Dependencies Я установил Module SDK To Project SDK openjdk-17 .
В Настройки -> Сборка, выполнение, развертывание -> Компилятор -> Компилятор Java Я установил Проект версии байт-кода до 17 .
Gradle
Я просмотрел все ответы здесь, но, похоже, я не могу это исправить. Мне что-то не хватает, но я не могу этого найти. У меня не было проблем с использованием Java 8 или 11.
Как мне решить эту проблему?
Ответ
Сообщение обычно означает, что ваша переменная среды JAVA_HOME указывает на другую версию Java .
Вот шаги, которые необходимо выполнить:
- Закройте IntelliJ IDEA
- Откройте окно терминала и проверьте значение переменной JAVA_HOME :
* система nix: echo $JAVA_HOME
Система Windows: echo %JAVA_HOME%
- Путь JAVA_HOME должен указывать на другой путь, затем установите его на путь openjdk-17 :
* система nix: export JAVA_HOME=/path/to/openjdk-17
Система Windows: set JAVA_HOME=path\to\openjdk-17
- Снова откройте свой проект в IntelliJ IDEA
- Обязательно установите как исходную, так и целевую версии совместимости (не только sourceCompatibility )
Вы должны уметь построить свой проект.
Исправить ошибку сборки Maven недопустимый целевой выпуск
При сборке Java-проекта с использованием Maven (например, запустите пакет mvn в командной строке) вы можете столкнуться с этой ошибкой:
[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins:maven-compiler-plugin:3.8.1:компиляция (по умолчанию-компиляция) для project ProjectName:
Фатальная ошибка компиляции: ошибка: недопустимый целевой выпуск: 17 -> [Справка 1]
Ошибка недопустимый целевой выпуск: 17 – это означает, что версия Java проекта равна 17, но Maven работает под более низкой версией JDK. Чтобы увидеть версию JDK, которая запускает Maven, введите mvn -v, и вы увидите что-то вроде этого:
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: g:\apache-maven-3.6.3\bin \..
Версия Java: 15, поставщик: корпорация Oracle, время выполнения: g:\OpenJDK15\jdk-15
Это означает, что Maven использует Java версии 15, тогда как проект использует Java версии 17, отсюда и ошибка недопустимого целевого выпуска.
Итак, чтобы исправить такого рода ошибки, вы можете либо:
– Измените версию Java проекта на ту, которая меньше или равна версии JDK, на которой работает Maven.
– Измените JDK, который запускает Maven, чтобы он был больше или равен версии Java проекта