Я пытаюсь создать приложение, которое было построено с использованием java 8, теперь оно обновлено до java 11. Я установил Java 11, используя статья оракула в моем оконная машина, и я использую 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
Или мне нужно что-то еще изменить?
Спасибо @JornVernee на основе вашего совета, я обновил и решил проблему. Java 11 отлично работает с версией IntelliJ IDEA 2018.3.3.




Пожалуйста, отправьте Обновить в IntelliJ IDEA 2018.x, чтобы получить поддержку Java 11. Ваша версия IntelliJ IDEA была выпущена до Java 11 и не поддерживает эту версию Java.
Даже версия 2020 года имеет такую же проблему. Так что это неправильный ответ или частично правильный. Вам необходимо изменить версию sdk из структуры проекта.
@Zafar, это был правильный ответ на исходный вопрос, и OP его принял. Но у этой ошибки может быть несколько причин, которые нельзя описать одним ответом.
Это неправильный ответ :) или, по крайней мере, не полный. Вы все еще можете столкнуться с этой проблемой с более новой версией IntelliJ.
Для решения этой проблемы я изменил Файл-> Структура проекта-> Модули - >> Уровень языка до 10.
И проверьте Файл -> Настройки -> Сборка, Выполнение, Развертывание -> Компилятор -> Компилятор Java - >> Байт-код проекта и версии Байт-код для каждого модуля. У меня там 11.
Теперь я не получаю этих уведомлений и ошибки.
Это может быть полезно для кого-то вроде меня, имеющего самую последнюю идею и получающего ту же ошибку.
Это сработало для меня, хотя дата IntelliJ старше даты выпуска Java. Файл => Структура проекта => Проект => SDK проекта. Добавил недавно загруженный JDK в New и нажал Apply => OK. Сразу после этого проект начал компилироваться.
Это и другие подобные / возможно необходимые решения более подробно описаны (со скриншотами) на stackoverflow.com/a/26009627/1357094.
У меня та же проблема, о которой говорил Грю. Тот же Intellij 2018 3.3
Я смог начать свой проект, установив (как заявил Григорий)
File->Project Structure->Modules ->> Language level to 8 ( my maven project was set to 1.8 java)
И
File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> 8 also there
Надеюсь это будет полезно
Это и другие подобные / возможно необходимые решения более подробно описаны (со скриншотами) на stackoverflow.com/a/26009627/1357094.
Именно то, что мне нужно. Спасибо!
Для тех, кто не может найти. File -> Settings Нашел в IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Compiler -> Java Compiler
Но почему? Это ошибка IDEA?
Это должен быть принятый ответ. Благодаря.
Это должен быть идеальный ответ, сработало .. Как перчатка
Я очистил установленный intellij с официального веб-сайта с последней версией и создал чистый проект с инициализатором Spring, и это произошло. Это не должно происходить при чистой установке, не так ли? Я имею в виду, что что-то не так. Кстати, это решение сработало отлично.
Большое спасибо. Это полезно для меня.
В разделе «Файл»> «Структура проекта»> «Модули» установите флажки «Источники -> Уровень языка» и «Зависимости -> SDK модуля».
Получил ту же ошибку после обновления моей идеи, и я решил ее следующим образом:
Файл >> Структура проекта ... >> Проект
«Уровень языка проекта:» был установлен на «11 - Синтаксис локальной переменной для лямбда-параметров». поэтому я изменил его на «SDK по умолчанию (8 - лямбды, аннотации типов и т. д.)», затем применил изменение и ошибка была устранена.
Просто была такая же ошибка. Проблема заключалась в том, что у меня был пустой package-info.java file. Как только я добавил имя пакета внутри, он заработал ...
Могу сказать, что у меня была аналогичная проблема. Мой случай: я переключился с новой версии на старую версию проекта в рабочей области, попытался запустить один junit, который требует перекомпиляции, ошибка перекомпиляции была выдана с недопустимой целью.
В настройках проектов (F4) в IntelliJ все выглядело хорошо, а java было установлено на 1,7. Но когда я пытаюсь перекомпилировать из IDE, возникает ошибка из-за неправильного целевого уровня. После проверки я обнаружил, что в одном из файлов iml установлен язык JDK_11. После ручного перехода на JDK_1_7 все вернулось в норму.
Также стоит вручную проверить уровень языка в файлах * iml, созданных IDE.
Я могу добавить, что хорошо проверить также вариант, как это было в комментариях выше: File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler , и проверить, правильно ли установлен целевой код.
Это продолжает откат к предыдущим настройкам. Есть ли постоянное исправление для этого? Можно ли эту конфигурацию приклеить к проекту? (Если есть несколько проектов с несколькими версиями Java, как обработать это в коде)
1 из 2 методов устранит проблему:
Способ 1 (рекомендуется)
Укажите версию Java в файле сборки.
Например, для Gradle перейдите в файл build.gradle и укажите исходную и целевую совместимость, как указано в документы, и нажмите кнопку обновления в окне инструмента Gradle.
Например, чтобы установить исходную и целевую совместимость с Java версии 17:
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
Способ 2
Если создание проекта через систему сборки (Maven, Gradle и т. д.) Работает, но IntelliJ показывает ошибку Invalid target release, выполните следующие действия:
Закройте IntelliJ
Перейти в каталог проекта
Удалите каталог .idea /
Запустите IntelliJ с каталогом проекта
Это повторно создаст каталог .idea / и больше не будет отображать ошибку.
ПРИМЕЧАНИЕ. Любые добавленные вами настройки IntelliJ для конкретного репозитория будут удалены при удалении каталога .idea / и будут созданы заново со значениями по умолчанию.
Не слишком ли сложно удалить папку ./idea? Все ваши настройки исчезнут.
Да, согласен, это немного сурово. Все настройки, специфичные для репозитория, исчезнут, но глобальные настройки, такие как настраиваемая раскладка клавиатуры, будут сохранены, поскольку они хранятся в домашнем каталоге пользователя. Обновил ответ примечанием.
Что касается меня, у меня была такая же проблема, но она была с java v8, я использую другую версию java на своей машине для разных проектов. При импорте одного из моих проектов у меня возникла та же проблема. Чтобы проверить конфигурацию, я проверил все настройки, связанные с моим SDK, независимо от того, находятся ли они в File->Project->Project Structure / Modules или в параметрах конфигурации Run / Debug. Все, что я установил на java-8, но по-прежнему возникала та же проблема. При проверке всех файлов конфигурации я обнаружил, что compiler.xml в .idea имеет запись для bytecodeTargetLevel, которая была установлена на 11. Здесь, если я изменю ее на 8, даже если он показывает тот же вывод компилятора, и удаление <bytecodeTargetLevel target = "11" /> из compiler.xml разрешит проблема.
Мой модуль проекта был установлен на 8, но pom.xml был установлен на 11. Когда я изменил с 8 на 11 в модуле, это сработало.
У меня возникла проблема, потому что я сейчас обновляю кодовую базу до JDK 11 и переключаюсь с 8 на 11 в ветвях. Похоже, IntelliJ это не нравится.
Решение:
Если вы выбрали текущий JDK в структуре своего проекта (Ctrl+Shift+Alt+S) и по-прежнему получаете ошибку, сделайте недействительным свой кеш File > Invalidate Caches / Restart....
В моем случае после перезапуска IDE ошибка исчезла.
У меня такая же ошибка, я просто меняю версию java в pom.xml с 11 на 1.8, и она работает нормально.
У меня также была аналогичная ошибка, но в моем случае это была Ошибка: java: invalid source release: 11 ... Поэтому я просто изменил все аннотации с java 11 на java 8, и даже если аннотация была java 8, я просто оставил ее как это. Надеюсь, это поможет вам решить проблему.
Если вы используете Spring Boot, проверьте версию java в файле pom.xml.
<properties>
<java.version>11</java.version>
</properties>
Если эта версия не совпадает с версией вашего компьютера по умолчанию (Java), может произойти эта ошибка.
Я внес изменения везде, но не здесь. Спасибо, что указали на это.
Я изменил файл -> структуру проекта -> настройки проекта -> модули На вкладке «Источник» я установил уровень языка с: 14 или 11 на: «Проект по умолчанию». Это устранило мою проблему.
В вашем файле pom.xml внутри этого <java.version> напишите «8» вместо «11» и РЕКОМЕНДУЙТЕ свой файл pom.xml. И тадаааааа работает!
Я перепробовала все вышеперечисленное и нашла этот секретный соус
Я добавил эти две строчки в файл build.gradle
compileJava.options.fork = true
compileJava.options.forkOptions.executable = 'C:\\Program Files\\Java\\jdk-11.0.8'
и это работает
Я использую окна и мой проект на основе gradle
мой путь jdk -> 'C: \ Program Files \ Java \ jdk-11.0.8'
укажите свой путь jdk
Недавно я столкнулся с той же проблемой. Эта ошибка отображалась на моем экране после запуска основного файла проекта. Ошибка: java: неверный исходный код: 11 Следуйте инструкциям по устранению этой ошибки
После запуска вы увидите, что ошибка устранена.
Вы можете видеть, что это прекрасно работает ... Пожалуйста, подойдите ко мне, если вы обнаружите какие-либо проблемы
Нижеприведенные изменения сработали для меня и надеюсь, что то же самое сработает и для вас.
Измените версию Java с 11 на 8 в файле pom.xml
<java.version> 1.8 </java.version>
Перейдите в, Файл -> Настройки -> Сборка, Выполнение, Развертывание -> Компилятор -> Компилятор Java
.
Здесь в столбце Модуль вы можете увидеть свой проект в списке, а в столбце Целевая версия байт-кода версия Java для проекта уже указана (в основном 11), измените ее на 8
Перейдите в Файл -> Структура проекта -> Модули. Здесь, на вкладке Источник, вы можете увидеть опцию Уровень языка, выберите 8 - Лямбды, аннотации типов и т. д.. Наконец, выберите Применить и ОК, все готово.
Только №1 работал у меня .. пробовал много решений, но это сработало
У меня это работает. То есть, изменил версию в pom, а затем также изменил оба этих места в IntelliJ. Не уверен, почему в IntelliJ есть 2 места, где вам нужно указать версию Java.
Где путь к pom.xml?
Привет, @MML, pom.xml доступен на корневом уровне самого проекта, например {Your Project} \ pom.xml. Разверните свой проект, вы увидите файл pom.xml
@ b-sangappa Я переключился на просмотр проекта в студии Android, но не могу найти этот файл, могу ли я создать его вручную?
@MML, как только проверьте, присутствует ли файл в местоположении Project самого проводника, если его нет, вы можете создать файл POM на корневом уровне, например {Your Project} \ pom.xml
6 января 2021 г.
Это то, что у меня сработало.
Перейдите в File -> Project Structure и выберите вкладку «Dependencies» на правой панели окна. Затем измените «Module SDK», используя раскрывающийся список, как это. Затем примените изменения.

Это решает меня. Спасибо, это может произойти, когда модули индексируются в недопустимой версии Java.
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, решено, надеюсь, это поможет кому-то, у кого такая же проблема, спасибо.
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)
Попробуй это
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
В более новых версиях Intellij проверьте правильность настройки jdk 11:
Open Module Settings. Проверьте настройки, перечисленные ниже:
File > Settings > Java Compiler. Проверьте следующие настройки:
У меня такая же целевая ошибка java 11, и моя проблема заключалась в maven-compiler-plugin устаревшая версия. обновился до последнего, и все заработало
Если ваш проект построен с использованием gradle, вам следует обновить:
File > Settings > Build, Execution, Deployment > Build Tools > Gradle
И обновите Gradle JVM до версии 11.
Я предполагаю, что версия intellij 2017 года не поддерживает jdk11 (или, может быть, для работы ей нужен плагин), вы можете попробовать обновить до 2018 года.