it-roy-ru.com

Ошибка: Java: недопустимый исходный выпуск: 8 в Intellij. Что это значит?

Я пытаюсь скомпилировать код в Я использую 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, так что, похоже, это не совсем применимо.

243
David Grinberg

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

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

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

 screen shot of File > Project Structure > Project

 screen shot of File > Project Structure > Modules > Sources

 screen shot of File > Project Structure > Modules > Dependencies

 screen shot of File > Settings/Preferences > Compiler > Java Compiler

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

556
Andreas Lundgren

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

Вуаля! Вы сделали 

16
Yash Bajaj

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

Javac: недействительный целевой выпуск: 1,8

4
juliangonzalez

Для пользователей 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
Java_Waldi

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

 enter image description here

4
snr

Измените pom.xml1.6 на 1.8

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

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

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

gradle -version

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

2
jilbot

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

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

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

1
ArifMustafa

Для пользователей 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
0
B5A7

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

0
Katherine Nicol