Ошибка: Java: неверный целевой выпуск: 11 - Intellij Idea
Я пытаюсь создать приложение, которое было создано с использованием Java 8, теперь оно обновлено до Java 11. Я установил Java 11, используя статью оракула на моем компьютере с Windows, и я использую Intellij Idea 2017 в качестве своей IDE.
Я изменил свои системные переменные окружения и установил
JAVA_HOME to C:\Program Files\Java\jdk-11.0.1
И добавил, что Path
переменная.
C:\>java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
Когда я строю свое приложение в intellij, это то, что я получаю:
Information:java: Errors occurred while compiling module 'test-domain_main'
Information:javac 1.8.0_171 was used to compile java sources
Information:1/10/2019 4:21 PM - Compilation completed with 1 error and 0 warnings in 1s 199ms
Error:java: invalid target release: 11
Это то, что я пробовал до сих пор:
Я изменился
.idea/compiler.xml
целевые значения от 8 до 11, но это не помогло. Также проверилTarget bytecode version
вsettings > Build, Execution, Deployment > Compiler > Java Compiler
и все мои модули установлены на 11.Пошел в
file > Project Structure > SDKs *(currently I have 1.7 and 1.7 listed)* > Add new SDK > JDK >
После этого я выбралC:\Program Files\Java\jdk-11.0.1
Но он выдает ошибку "Выбранный каталог не является допустимым домом для JDK"
Я не уверен, что установил неправильный JDK 11, потому что в моем C:\Program Files\Java\
Я вижу отдельные папки JDK и JRE для 1.7
а также 1.8
но только папка jdk для 11.0.1
Или это что-то еще, что мне нужно изменить?
36 ответов
Пожалуйста, обновите IntelliJ IDEA до 2018.x, чтобы получить поддержку Java 11. Ваша версия IntelliJ IDEA была выпущена до Java 11 и не поддерживает эту версию Java.
У меня та же проблема, что и у Григория Ющенко. Тот же Интеллий 2018 3.3
Я смог начать свой проект, установив (как заявлено Григорием)
Файл-> Структура проекта-> Модули - >> Уровень языка до 8 (мой проект maven был настроен на 1.8 Java)
А ТАКЖЕ
Файл -> Настройки -> Сборка, Выполнение, Развертывание -> Компилятор -> Компилятор Java -> 8 также там
Надеюсь это будет полезно
- Сегодня я получил те же информационные сообщения и сообщения об ошибках, но недавно обновил Idea -> 2018.3.3, созданный 9 января 2019 года.
- Чтобы решить эту проблему, я изменил Файл-> Структура проекта-> Модули - >> Уровень языка на 10. И выберите Файл -> Настройки -> Построение, Выполнение, Развертывание -> Компилятор -> Компилятор Java - >> Версия байт-кода проекта и версии байт-кода для каждого модуля. У меня там 11
Теперь я не получаю эти уведомления и ошибку.
Это может быть полезно для кого-то вроде меня, имея самую последнюю идею и получая ту же ошибку.
Если создание проекта через систему сборки (Maven, Gradle и т. Д.) Работает, но IntelliJ показывает Invalid target release
ошибка, затем сделайте следующее,
Закройте IntelliJ
Перейти в каталог проекта
Удалите каталог.idea/
Запустите IntelliJ с каталогом проекта
Это воссоздает каталог.idea/ и больше не будет отображать ошибку.
ПРИМЕЧАНИЕ. Любые добавленные вами настройки IntelliJ для конкретного репозитория будут удалены при удалении каталога.idea/ и будут созданы заново со значениями по умолчанию.
Нижеприведенные изменения сработали для меня и надеюсь, что то же самое сработает и для вас.
Измените версию Java с 11 на 8 в файле
pom.xml1.8 Перейдите в Файл -> Настройки -> Сборка, Выполнение, Развертывание -> Компилятор -> Компилятор Java.
Здесь, в столбце " Модуль" вы можете увидеть свой проект в списке, а в столбце " Версия целевого байт-кода" версия Java для проекта уже указана (в основном 11), измените его на 8Перейдите в Файл -> Структура проекта -> Модули. Здесь, на вкладке " Источник ", вы можете увидеть опцию " Уровень языка", выбрать 8 - Лямбды, тип аннотации и т. Д. Наконец, выберите Применить и ОК, все готово.
6 января 2021 г.
Это то, что у меня сработало.
Перейдите в File -> Project Structure и выберите вкладку «Dependencies» на правой панели окна. Затем измените «Module SDK» в раскрывающемся списке, как это. Затем примените изменения.
В более новых версиях Intellij проверьте правильность настройки jdk 11:
- Щелкните правой кнопкой мыши свой проект, затем
Open Module Settings
. Проверьте настройки, перечисленные ниже: - потом
File > Settings > Java Compiler
. Проверьте следующие настройки:
Также существует возможность использования Maven другой версии JDK, в этом случае вы можете настроить Maven на использование версии JDK по умолчанию для проекта.
Мое решение:
- Перейдите в «Файл»> «Настройки»> «Сборка, выполнение, развертывание»> «Инструменты сборки»> «Gradle».
- Выберите Gradle JVM: [ВЕРСИЯ SDK]
- Компиляция
Получил эту же ошибку после обновления моей идеи, и я решил ее следующим образом:
Файл >> Структура проекта... >> Проект
"Уровень языка проекта:" был установлен на "11 - Синтаксис локальной переменной для лямбда-параметров", поэтому я изменил его на "SDK по умолчанию (8 - лямбда-выражения, аннотации типов и т. Д.)", Затем применил изменение, и ошибка была устранена.
Недавно я столкнулся с той же проблемой. Эта ошибка отображалась на моем экране после запуска основного файла проекта. Ошибка: Java: недопустимый исходный выпуск: 11 Выполните действия, чтобы устранить эту ошибку
- Файл-> Структура проекта -> Проект
- Нажмите кнопку "Создать" под Project SDK: добавьте последний SDK и нажмите "ОК".
После запуска вы увидите, что ошибка устранена.
Вы можете видеть, что он работает отлично.. Пожалуйста, подойдите ко мне, если вы обнаружите какие-либо проблемы
Если вы используете Springboot, проверьте версию java в файле pom.xml.
<properties>
<java.version>11</java.version>
</properties>
Если эта версия не совпадает с версией вашего компьютера по умолчанию (Java), это может произойти.
У меня возникла проблема, потому что я сейчас обновляю кодовую базу до JDK 11 и переключаюсь с 8 на 11 в ветвях. Похоже, IntelliJ это не нравится.
Решение:
Если вы выбрали текущий JDK в структуре вашего проекта (Ctrl+Shift+Alt+S
) и по-прежнему получать ошибку, аннулируйте кеш File > Invalidate Caches / Restart...
.
После перезапуска IDE в моем случае ошибка исчезла.
Могу сказать, что у меня была аналогичная проблема. Мой случай: я переключился с новой версии на старую версию проекта в рабочей области, попытался запустить один junit, который требует перекомпиляции, ошибка перекомпиляции была выдана с недопустимой целью.
В настройках проектов (F4) в IntelliJ все выглядело хорошо, а для java установлено значение 1,7. Но когда я пытаюсь перекомпилировать из IDE, возникает ошибка из-за неправильного целевого уровня. После проверки я обнаружил, что в одном из файлов iml установлен язык JDK_11. После ручного перехода на JDK_1_7 все вернулось в норму.
Также стоит вручную проверить уровень языка в файлах *iml, созданных IDE.
Если ваш проект построен с использованием gradle, вам следует обновить:
File > Settings > Build, Execution, Deployment > Build Tools > Gradle
И обновить
Gradle JVM
с версией 11.
Для меня проблема, вызывающая это сообщение об ошибке, заключалась в том, что моя переменная среды JAVA_HOME все еще указывала на каталог JDK 1.8. Я сделал свою переменную среды JAVA_HOME, указывающую на каталог JDK 11, и это сработало.
Для меня у меня была такая же проблема, но она была с java v8
, Я использую другую версию java на своем компьютере для разных проектов. При импорте одного из моих проектов у меня возникла та же проблема. Чтобы проверить конфигурацию, я проверил все настройки, связанные с моим SDK, находятся ли они вFile->Project->Project Structure / Modules
или в настройках конфигурации Run/Debug. Все, что я установилjava-8
но все же у меня была такая же проблема. Проверяя все файлы конфигурации, я обнаружил, что compiler.xml в.idea имеет запись для bytecodeTargetLevel, которая была установлена на 11. Здесь, если я изменю ее на 8, даже если он показывает тот же вывод компилятора и удаляет<bytecodeTargetLevel target="11" />
из compiler.xml
решить проблему.
Попробуй это
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
1. pom.xml (start with this important)
- <java.version>1.8</java.version>
* Enable auto import on pop up
* Wait until it loads
2. Project Structure
- Project
- Project SDK - 1.8
- Project language Level - 8
- Modules
- Sources
- Language level - 8
- Dependencies - Project SDK 1.8
3. Delete idea folder
4. Close window
5. Reopen window (make sure it loads at bottom)
Мой модуль проекта был установлен на 8, но pom.xml был установлен на 11. Когда я изменил с 8 на 11 в модуле, он работал.
2021, 12 января
все дело для меня в том, чтобы явно указать версию как java 11 в моем pom.xml, и я решил проблему, выполнив следующие шаги.
откройте терминал и введите: java -version, затем я получил 1.8, и я пошел в .bash_profile, чтобы переключить версию java на 11.2, поскольку у меня установлено несколько версий Java. Не забудьте перезагрузить терминал и еще раз проверить версию Java, чтобы убедиться, что переключение прошло успешно.
Затем я перешел в File -> Project Structure, чтобы убедиться, что мой IntelliJ использует ту же версию, что и мой env, то есть 11.2.
ПЕРЕЗАГРУЗИТЕ свой Intellij, mvn clean install, решено, надеюсь, это поможет кому-то с этой проблемой, спасибо.
Я перепробовала все вышеперечисленное и нашла секретный соус
- убедитесь, что в pom.xml указан желаемый jdk.
- убедитесь, что maven указывает желаемый jdk.
- убедитесь, что в Projects указан желаемый jdk.
- убедитесь, что в Modules указано ваше целое число jdk, а в Dependencies указано ваше jdk. hth.
У меня такая же ошибка, я просто меняю версию java в pom.xml с 11 на 1.8, и она работает нормально.
Другое решение сработало для меня, но основная причина заключалась в том, что я испортил конфигурацию maven в прошлом.
После всех предложений, когда я позвонил через терминал, я показал, что использую , но когда я проверилmvn -v
У меня была информация, которую использует Maven...
Это было странно. Я просмотрел все предложенные настройки IntelliJ (структура проекта, версия компилятора и т. д.), и все указывало на использованиеJava 11
Но, в конце концов, я обнаружил, что испортил эту конфигурацию в прошлом.
Я использую Mac, и в моем случае основной причиной было переопределение системы по умолчанию, хотя настройки Maven в~/.mavenrc
Файл конфигурации. Внутри того, что я переопределилJAVA_HOME
свойство, указывающее на1.8
библиотека.
Причина, по которой я это сделал, заключалась в предыдущих проблемах с maven в другом проекте, и мне нужно было заставить maven использоватьJava 1.8
поэтому, когда я переключился на другой проект, это вызвало проблемы.
Я знаю, что это очень специфично, но, возможно, есть кто-то еще, кто рассмотрел все предложения, и ничего не сработало, и переопределил и эту переменную.
В вашем файле pom.xml внутри этого
Удаление свойств maven pom:
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
Решил это для меня (поэтому не устанавливайте его на 1.8, как было предложено выше)
Если настроить
Project Properties
у вас никогда не работало, вы также должны не забыть изменить версию SDK для maven или
Gradle
которые могут указывать на неправильный путь или
JDK
версия.
Сделать это:
- Щелкните Файл | Настройки | Сборка, выполнение, развертывание | Инструменты сборки
- Если maven, щелкните maven, затем Runner и установите JRE для использования проекта JDK.
- Если Gradle, нажмите Gradle, затем установите Gradle
JVM
.
Я пробовал все решения выше
- версия gradle jvm, версия байт-кода компилятора java, язык модуля.
Я установил все вышеперечисленное на java 8 (или 1.8), так как это библиотека, которая у меня есть на моей машине. Это все еще не сработало.
Проблема заключалась в том, что файл build.gradle имел
исходная совместимость = '11'
Изменил это на 8, и он перестал выдавать ошибку «сбой компиляции недопустимого выпуска 11».
ссылка на решение: форум github
У меня также была аналогичная ошибка, но в моем случае это была Ошибка:java: invalid source release: 11... Поэтому я просто изменил все аннотации с java 11 на java 8, и даже если аннотация была java 8, я просто оставил ее как это. Надеюсь, это поможет вам решить проблему.
Я изменил файл -> структуру проекта -> настройки проекта -> модули На вкладке "Исходный код" я установил уровень языка с: 14 или 11 на "Project Default". Это устранило мою проблему.