Ошибка: java: javacTask: исходный выпуск 8 требует целевой выпуск 1.8

675

Использование IntelliJ IDE не может скомпилировать какие-либо проекты. Скриншоты настроек ниже:

Используется JDK:

Изображение 44

SDK проекта и уровень языка:

Изображение 45

Уровень языка:

Изображение 46

У кого-нибудь есть идеи?

Показать ещё 1 комментарий
Теги:
java-8
intellij-idea

22 ответа

1406
Лучший ответ
  • Файл > Настройки > Сборка, выполнение, развертывание > Компилятоp > Компилятор Java
  • Измените версию байт-кода Target на 1,8 модуля, над которым вы работаете.

Если вы используете Maven

Добавьте плагин компилятора в pom.xml под верхним уровнем project node:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

(Поднялся из комментариев.)

Примечание. Если вы не возражаете против реимпортации своего проекта, то вам действительно нужно только изменить проект pom и reimport, тогда IntelliJ подберет правильные настройки, и вам не придется вручную измените их.

  • 75
    Вы знаете, почему IntelliJ продолжает изменять эти настройки? Я имею в виду, что я использую половину своего времени, чтобы проверить, изменил ли IntelliJ некоторые настройки источника снова ...
  • 0
    Работает в IntelliJ 14 Ultimate.
Показать ещё 17 комментариев
143

Вам нужно перейти в Настройки и установить в компиляторе Java следующее: Изображение 1411

также проверьте настройки проекта

  • 2
    Спасибо, после попытки всего остального, это были последние настройки, которые мне были нужны.
  • 1
    Это решило мою проблему, спасибо!
100

Это выглядит как ошибка, которую Maven генерирует, если у вас нет правильно настроенного плагина компилятора. Здесь приведен пример конфигурации компилятора Java 8.

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<!-- ... -->

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

<!-- ... -->

</project>
  • 10
    Для других новичков Maven, таких как я, это должно быть в project , build , а затем в plugins .
  • 3
    Также, если настроены <source>1.8</source> и <target>1.8</target> , может возникнуть вышеуказанная ошибка.
Показать ещё 1 комментарий
61

Квикстет, как я нашел:

  • нажмите: CTRL + SHIFT + A (для Mac + SHIFT + A)
  • Тип: java compiler
  • нажмите: ENTER

В окне настроек установите байт-код Target равным 1,8.

(или 9 для java9)

  • 2
    Это абсолютно сработало для меня (спасибо!), Но я не понимаю, почему это отличается от того, что находится в pom.xml, настройках модуля и т. Д ...
  • 1
    Целевая версия байт-кода для Java 9 будет 9, а не 1,9.
Показать ещё 2 комментария
24

Существует два способа решения этой проблемы:

  • Установить настройки (File -> Settings -> Build, Execution, Deployment -> Java Compiler): Изображение 1412
  • Добавьте раздел сборки в pom.xml: Изображение 1413
13

Многие ответы на Maven правильные, но вам не нужно настраивать плагин напрямую.

Как описано на странице вики-страницы плагина Compiler для Apache Maven, вы можете просто установить 2 свойства, используемые плагином.

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>
  • 0
    @ Марвин Рихтер Я попробовал ваше решение, но оно не работает с IntelliJ. Я полагаю, что оно корректно в чистой сборке maven (из командной строки), но IntelliJ просто игнорирует эти свойства. Мне пришлось настроить плагин, как указано в других решениях.
  • 2
    Вы пытались реимпортировать? Потому что для меня это работает.
Показать ещё 5 комментариев
10

Я исправил это, перейдя в Структура проекта Модули, найдите соответствующий модуль, нажмите вкладку Зависимости, измените Module SDK до Project SDK.

8

Я исправил его, просто изменив версию целевой компиляции на 1.8. Его в:

Файл → Настройки → Сборка, выполнение, развертывание → Компилятор → Компилятор Java

  • 1
    Спасибо, Вишал. Мы должны указать версию байт-кода проекта или, по крайней мере, версию байт-кода для каждого модуля с помощью Intellij Idea. Просто установка его в pom.xml для maven-compiler-plugin не решила проблему для меня.
  • 1
    Смирнов и Мазур внизу тоже это показали.
3

В моем случае я исправил эту проблему, открыв .iml файл проекта (он находится в корневой папке проекта и имеет имя, аналогичное имени проекта) и меняя строку <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" /> на <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />

У меня было все настроенное, как в других ответах здесь, но по какой-то причине Idea обновил файл .iml неправильно.

  • 2
    Иногда Intellij не обновляет файлы конфигурации, даже если вы настроили все меню. Делать недействительными кэши и перезапускать (после редактирования файлов конфигурации), сделали свое дело для меня. Странный.
  • 1
    Спасибо. Наконец, после попытки и неудачи любого другого решения, указанного выше, это сработало.
2

Вам нужно перейти к /.idea/compiler.xml и изменить target на требуемый уровень jdk. Изображение 1414

2

Я исправил его, изменив мой файл POM. Обратите внимание на последний комментарий в соответствии с самым высоким голосованием.

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
</plugin>

Источник должен соответствовать цели.

1

Я просто повторно импортировал maven кнопку, после чего ошибка исчезла.

Изображение 1415

  • 0
    Благодарю. Этот намек сделал это
1

Я просто некоторое время боролся с той же проблемой. Единственное, что сработало для меня, это не использование встроенного mvn (3.3.9), а указание на внешнюю загруженную версию (3.5.0). Наконец проект открылся и все было хорошо.

1

Если вы работаете с Android-studio 1.3, выполните следующие шаги -

Перейдите в Файл - Структура проекта

В разделе модулей - приложения - Свойства выберите Стандартная совместимость - 1.8 и

Целевая совместимость - 1,8.

И тебе хорошо идти.

1

В файле compiler.xml вы найдете:

<bytecodeTargetLevel>
  <module name="your_project_name_main" target="1.8" />
  <module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>

и вы можете изменить целевое значение от старого к новому для меня, мне нужно было изменить его с 1,5 до 1,8

0

В вашем файле уровня приложения Gradle добавьте эти две строки

android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
   }
}
0

Не забудьте установить зависимости для вашего модуля: Изображение 1416

0

Я проверил все вышеперечисленное, но ошибка все еще происходит.

Но реимпортировать все maven Projects (кнопка перезагрузки на панели Maven Projects) работает в моем случае.

0

Если ни один из других ответов не работает, проверьте свой SDK модуля.

У меня появилась эта ошибка после того, как я обновил SDK проекта до 1.8, компилятор Javac до 1.8 и т.д. У меня была проблема с "Module SDK".

(в Linux) Выберите " File > Project Structure... затем в открывшемся окне выберите " Modules разделе " Project Settings. Выберите нужный модуль из списка, затем перейдите на вкладку Dependencies и убедитесь, что Module SDK установлен правильно.

0

С Intellij, используя Maven, вы должны проверить, что Intellij автоматически импортировал ваш проект. Вы можете проверить, щелкнув вкладку Maven справа от вашего редактора.

Изображение 1417

Если ваш проект отсутствует здесь, добавьте файл pom.xml, нажав +.

Очевидно, что проект должен также иметь соответствующий <build/>:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
0

Решение проблемы очень просто. Вам нужно открыть файл .idea/compiler.xml в проекте İdea и

Вы должны написать соответствующую целевую версию

0

Для меня проблема заключалась в том, что Maven не смог найти правильные конфигурации, поскольку эти элементы были указаны в родительском pom.

Изменение файла → Настройки → Строка, Excecution, Deployment → Maven → Файл настроек пользователя, чтобы указать на мои пользовательские настройки с правильными репозиториями, устранила проблему, которая в противном случае скрывалась.

Узнал о проблеме с помощью справки → Показать журнал в проводнике → щелкнув файл журнала, когда ранее только получил ошибку в заголовке и "java.lang.NullPointerException" в консоли.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню