Ошибка: java: неверный исходный релиз: 8 в Intellij. Что это значит?

Я пытаюсь скомпилировать некоторый код в I'm Intellij Ultimate 13.1.4, но я получаю следующую ошибку, и я понятия не имею, что это значит:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8

Я предполагаю, что его что-то связано с Java 8 против Java 7, но я понятия не имею, что конкретно. Я пробовал Google для этого сообщения, но они либо говорят о javac, либо target release, поэтому он точно не применяется.

Ответ 1

У меня была такая же проблема, когда "понизить" проект с Java 8 до Java 6. Причина в том, что он не был изменен во всех местах в IntelliJ.

В IntelliJ 13.1.4 мне пришлось изменить версию Java и SDK в следующих местах, чтобы не получить эту ошибку:

  • Файл → Структура проекта → Настройки проекта
  • Файл → Структура проекта → Настройки модуля → вкладка: источники: уровень языка
  • Файл → Проект Структура → Настройки модуля → Вкладка: Зависимости: Модуль SDK
  • Файл → Настройки → Компилятор → Компилятор Java → Целевой байт-код версия

скриншот файла > Структура проекта > Проект

скриншот файла > Структура проекта > Модули & Источники

скриншот файла > Структура проекта > Модули > Зависимости

скриншот файла > Параметры/Предпочтения > Компилятор > Компилятор Java

Последняя пуля была той, которая не была обновлена ​​в моем случае. Как только я изменил это, ошибка исчезла.

Ответ 2

Сначала проверьте свой pom.xml (если он у вас есть)
Проверьте зависимость модуля JDK. Убедитесь, что он 1.8
Для этого перейдите в Структура проекта → SDK
Добавьте путь к месту хранения 1,8 (jdk1.8.0_45.jdk в моем случае)
Применить изменения
Теперь перейдите в Project Структура → Модули
Измените SDK модуля на 1.8
Применить изменения

Voila! Вы закончили

Ответ 3

Для Gradle пользователей, имеющих эти проблемы, если ничего не помогает, это то, что решило мою проблему - примените эти объявления в файлах build.gradle:

targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on

Проблема решена!

Ответ 4

Если вы используете Gradle как инструмент сборки, и вы получаете эту ошибку при выполнении задачи Gradle, а TomcatRun взгляните на мой другой ответ на тот же вопрос

javac: недействительный целевой выпуск: 1.8

Ответ 5

Его можно просто преодолеть, установив на Project Structure. Вам просто нужно выбрать правильный путь для связанной версии JDK. Выберите вкладку new на вкладках зависимостей и выберите путь. Сделано!

введите описание изображения здесь

Ответ 6

Изменить pom.xml 1.6 на 1.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

Ответ 7

Ответ Андреас Лундгрен работал, и я смог скомпилировать и запустить приложение.

Однако, когда я попытался запустить связанные с проектом тесты JUnit, я получил ту же ошибку. Выполнение

gradle -version

из командной строки Windows показало, что gradle все еще набирает неправильный jdk. Чтобы исправить это, мне пришлось установить переменную среды JAVA_HOME, чтобы указать на правильный jdk и перезапустить IntelliJ.

Ответ 8

Я проверил все вышеупомянутые версию проекта, версию модуля, версию байт-кода проекта, настройки целевой версии байт-кода в IntelliJ Idea, но все они были такими же, как я поцарапал.

Я сталкиваюсь с этой ошибкой Error:java: invalid source release: 1.8 в IntelliJ Idea 2017.2.6 потому что я обновил pom файл зависимостей версии Maven, который (зависимость) должен был собираться для приложения JDK 1.8, и я строил свое приложение на исходный и целевой JDK компилятора maven 1.7.

Следовательно, я снова понижаю версию зависимости до более ранней версии в Maven pom, и ошибка исчезла после проекта Rebuild Module 'xyz_project'.

Ответ 9

Для пользователей Grails примените эти объявления в файле BuildConfig.groovy:

grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on

Ответ 10

Вам нужно нажать на проект Откройте настройки модуля и измените путь вашего JDK, если в файле POM вы используете jdk 1.8, настройте jdk 1.8 с правильным путем.

Ответ 11

Я добавляю еще один путь, не упомянутый в этом ответе fooobar.com/info/42731/...

но очень важно редактировать конфигурации

one more path