2014-09-16 2 views
152

Im пытаясь скомпилировать код, я использую Intellij Окончательную 13.1.4, но я получаю следующее сообщение об ошибке, и я понятия не имею, что это значит:Ошибка: java: недействительный релиз источника: 8 в Intellij. Что это значит?

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 установлена? С какими JRE/JDK вы указали intellij в настройках IDE? – hexafraction

+2

Возможно, настройки проекта. Проверьте JDK, на который вы указываете, и уровень языка, который вы просили. – duffymo

+1

@duffymo вы были правы, это указывало на 8. Я не понимал, что это была настройка. –

ответ

363

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

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

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

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

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

+16

тот, кто меня убил, был следующим: 'File -> Settings -> Compiler -> Java Compiler -> Target bytecode version'. Благодарю. – bitoiu

+12

Я тоже сталкивался с этой проблемой, но ни одна из вышеперечисленных проблем не работала.Мне нужно было сделать IntelliJ IDEA -> Настройки ... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM', если кто-то сталкивается с этой проблемой при использовании Gradle. – Emil

+2

Источник: Уровень языка изменить на 7 - бриллианты, ARM, многорычажный и т. Д. Для IDEA 15 – Bastet

16

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

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

4

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

javac: invalid target release: 1.8

+0

Спасибо! Это разрешило мою проблему после того, как вышеупомянутые ответы не сделали. – chazzlabs

+0

Также спасибо! Не удалось определить этот – Frederik

1

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

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

gradle -version 

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

1

Изменение pom.xml1.6 к 1.8

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
    </configuration> 
</plugin> 
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 

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

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 
2

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

enter image description here

0

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

0

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

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

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