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

342

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

Дэвид говорит восстановить Монику
источник
2
Какая версия Java установлена? На какой JRE / JDK вы указали intellij, в настройках IDE?
нанофарад
2
Возможно настройки проекта. Проверьте JDK, на который вы указываете, и уровень языка, который вы запрашивали.
duffymo
1
@ duffymo ты был прав, это указывало на 8. Я не понимал, что это была установка.
Дэвид говорит восстановить Монику

Ответы:

769

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

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

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

снимок экрана Файл> Структура проекта> Проект

снимок экрана Файл> Структура проекта> Модули> Источники

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

снимок экрана Файл> Настройки / Предпочтения> Компилятор> Компилятор Java

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

Андреас Лундгрен
источник
31
тот, кто убил меня, был этот File -> Settings -> Compiler -> Java Compiler -> Target bytecode version. Спасибо.
битой
18
Я тоже столкнулся с этой проблемой, но ничего из вышеперечисленного не помогло. Я должен был это сделать IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM, на случай, если кто-нибудь столкнется с этой проблемой при использовании Gradle.
Эмиль
2
Источник: Изменение уровня языка до 7 - Алмазы, ARM, мульти-улов и т. Д. Для IDEA 15
Mia
4
Это должен быть принятый ответ. Как небольшой совет, в IntelliJ IDEA 15 точка 4 переместилась в Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler.
17
Также есть выбор JRE в некоторых конфигурациях run / debug. Например, в конфигурациях Tomcat run / debug есть селектор JRE, который может вызвать эту ошибку.
jordanpg
16

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

jdk1.8.0_45.jdk


1.8

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

Яш Баджай
источник
6

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

Задача решена!

Java_Waldi
источник
5

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

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>
Азиз Мамоян
источник
5

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

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

ОСШ
источник
4

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

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

juliangonzalez
источник
Спасибо! Это решило мою проблему после того, как вышеупомянутые ответы не сделали.
Chazzlabs
2

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

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

gradle -version

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

jilbot
источник
1

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

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

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

ArifMustafa
источник
0

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

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

Кэтрин Николь
источник
0

Я опробовал все шаги, упомянутые здесь https://stackoverflow.com/a/26009627/2058104 , но 4-й пункт теперь изменился. Вам нужно перейти в Настройки -> Построение, Выполнение, Развертывание -> Компилятор -> Компилятор Java

Там, как показано на рисунке ниже, вам нужно изменить «Целевую версию байт-кода». Хотя я изменил его на 8 (поскольку мне нужно было перейти на Java 8), он снова и снова выдавал одну и ту же ошибку. Поэтому попробуйте удалить существующую запись (в этой таблице) и добавить ее снова. Это сработало для меня.

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

С другой стороны, очистите проект и попробуйте запустить снова.

cresclux
источник