Помилка: 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. Я не розумів, що це налаштування.
Девід каже: Відновіть Моніку

Відповіді:


768

У мене виникло те саме питання, коли "переходив на проект" з Java 8 на Java 6. Причина полягала в тому, що він не був змінений у всіх місцях IntelliJ.

У IntelliJ 13.1.4 мені довелося змінити версію Java та SDK на такі місця, щоб не отримати цю помилку:

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

знімок екрана Файл> Структура проекту> Проект

знімок екрана Файл> Структура проекту> Модулі> Джерела

знімок екрана Файл> Структура проекту> Модулі> Залежності

знімок екрана Файл> Налаштування / Налаштування> Компілятор> Компілятор Java

Остання куля була та, яка не була оновлена ​​в моєму випадку. Як тільки я змінив це, помилка зникла.


31
той вбиває мене був один: File -> Settings -> Compiler -> Java Compiler -> Target bytecode version. Дякую.
bitoiu

18
Я також стикався з цим питанням, але жодне з вищесказаного не працювало. Мені довелося це зробити IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM, на випадок, якщо хтось зіткнеться з цим питанням під час використання Gradle.
Еміль

2
Джерело: Зміна рівня мови на 7 - Diamonds, ARM, мультиварка тощо для IDEA 15
Mia

4
Це має бути прийнятою відповіддю. Як невеликий головний план, в IntelliJ IDEA 15 пункт 4 перейшов до Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler.
липня

Також існує вибір JRE у деяких конфігураціях запуску / налагодження. Наприклад, конфігурації запуску / налагодження Tomcat мають селектор "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

Проблема вирішена!


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


Дякую! Це вирішило мою проблему після того, як наведені відповіді не відповіли.
chazzlabs

2

Відповідь Андреаса Лундгрена спрацював, і я зміг скласти та запустити свою програму.

Однак, коли я намагався запустити пов'язані з проектом тести JUnit, я отримав таку ж помилку. Біг

gradle -version

з командного рядка Windows показало, що gradle все ще збирає неправильний jdk. Щоб виправити це, мені довелося встановити JAVA_HOMEзмінну середовища для вказівки на правильний jdk та перезапустити IntelliJ.


1

Я перевірив усе вищезгадане версію проекту, версію модуля, версію байт-коду проекту, налаштування версії байт-коду IntelliJ Idea, але всі вони були такими ж, як я почухав.

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

Отже, я знову понижую версію залежності до попередньої в Mavenпам’яті, і помилка, відмічена після проекту Rebuild Module 'xyz_project'.


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

0

Вам потрібно натиснути на проект Відкрити налаштування модуля та змінити шлях вашого JDK, якщо у файлі POM використовується jdk 1.8, налаштуйте jdk 1.8 з правильним шляхом.



0

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

Там, як показано на малюнку нижче, вам потрібно змінити "Цільову версію байтового коду". Хоча я змінив його на 8 (оскільки мені потрібно було перейти на Java 8), він повторював таку ж помилку. Тому спробуйте видалити існуючий запис (у цій таблиці) та додайте його ще раз. Це працювало для мене.

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

З іншого боку, очистіть проект і спробуйте запустити знову.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.