IDEA: javac: исходный релиз 1.7 требует целевого релиза 1.7

При запуске теста JUnit, используя IntelliJ IDEA, я получаю

enter image description here

Как я могу это исправить?

  • Использование SDK 1.7
  • Уровень языка модуля - 1.7.

Maven build отлично работает. (Вот почему я верю в проблему конфигурации IDEA)

Ответ 1

Скорее всего, у вас есть неправильные параметры компилятора, импортированные из Maven здесь:

compiler options

Также проверьте параметры версии проекта и модуля байт-кода (target), изложенные на снимке экрана.

Другие места, где настроен языковой уровень source:

  • Структура проекта | Проект

project

  • Структура проекта | Модули (проверьте каждый модуль) | Источники

sources

Уровень владения языком Maven по умолчанию 1,5 (5.0), вы увидите эту версию как уровень языка модуля на скриншоте выше.

Это можно изменить с помощью maven-compiler-plugin конфигурации внутри pom.xml:

<project>
  [...]
  <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>
  [...]
</project>

или

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

IntelliJ IDEA будет уважать этот параметр после Reimport проекта Maven в окне инструмента Maven Projects:

reimport

Ответ 2

IntelliJ 15, 2016 и 2017

Аналогично тому, как это описано ниже для IntelliJ 13 и 14, но с дополнительным уровнем на панели "Настройки/Предпочтения": "Настройки" > "Сборка", "Выполнение", "Развертывание" > "Компилятор" > "Компилятор Java".

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

IntelliJ 13 и 14

В IntelliJ 13 и 14 проверьте настройки > Компилятоp > Компилятор Java, чтобы убедиться, что вы не настроили таргетинг на другую версию байт-кода в своем модуле.

enter image description here

Ответ 3

В IntelliJ IDEA 14.1 "Целевая версия байт-кода" находится в другом месте.

Для меня изменилось следующее изменение:

Файл > Настройки... > Создание, выполнение, развертывание > Компилятоp > Компилятор Java: изменить Версия байт-кода цели от 1,5 до 1,8

enter image description here

enter image description here

Ответ 4

Вы посмотрели на свою конфигурацию сборки, ей это должно понравиться, если вы используете maven 3 и JDK 7

<build>
    <finalName>SpringApp</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        ...
    </plugins>
    ...
</build>

Ответ 5

Я столкнулся с этим, и исправление должно было перейти в "Настройки проекта" > "Модули" > на вкладку "Специальный вкладок". Я заметил, что модуль SDK по-прежнему установлен на 1.6, я изменил его на 1.7, и он сработал.

Ответ 6

Я нашел необходимые параметры ( "target bytecode version" ) в настройках > компилятоp > java-компилятор в моем случае (идея intelij 12.1.3)

Ответ 7

Измените файл настроек компилятора проекта в следующем пути и измените "цель" на 1.7:

/project/.idea/compiler.xml

<bytecodeTargetLevel>
  <module name="project-name" target="1.7" />
</bytecodeTargetLevel>

Ответ 8

От одного момента к другому я также получил эту ошибку без ясной причины. Я изменил все настройки в компиляторе/модуле и т.д. Но в итоге я только что воссоздал проект IntelliJ, реимпортируя проект Maven, и проблема была решена. Я думаю, что это ошибка.

IntelliJ 12 129.961

Ответ 9

Я разрешил его, установив поле пустым:

Настройки > Компилятоp > Компилятор Java > Версия байт-кода проекта

Чем IntelliJ использует версию по умолчанию JDK.

Ответ 10

Я ударил его после небольшого обновления от IntelliJ IDEA 14 до версии 14.1. Для меня изменилось редактирование справки top/parent pom, а затем нажал на повторный импорт Maven (если он не автоматический).

Но, возможно, этого достаточно, чтобы щелкнуть правой кнопкой мыши модуль (модули)/агрегированный/родительский модуль и Maven → Reimport.

Ответ 11

Я разрешил следующий метод

Файл → Структура проекта → Проект → Уровень языка проекта  - > установите правильную версию (например: 1.5)

Ответ 12

проверить .idea/misc.xml иногда вам нужно вручную изменить атрибут languageLevel = "JDK_1_X"

Ответ 13

Я нашел другой способ столкнуться с этой ошибкой. Вы можете получить это, если вы повторно организовали структуру своего каталога, а один из ваших попов указывает на старого родителя, который больше не настраивает javac (поскольку эта конфигурация была перемещена на средний уровень). Если это произойдет, то по умолчанию верхний уровень будет равным 1,5, а неправильный нижний уровень pom наследует его.

Итак, еще одна вещь, которую нужно проверить, когда вы видите эту ошибку, заключается в том, что ваша структура pom правильно соответствует структуре вашего каталога.

Ответ 14

Если Maven build отлично работает, попробуйте синхронизировать структуру проектов Maven и IntelliJ IDEA.

В окне инструмента Maven нажмите кнопку обновления refresh. При нажатии этой кнопки IntelliJ IDEA анализирует структуру проекта в окне инструмента Maven.

Обратите внимание, что это может не помочь, если вы используете сборку EAP, так как функция синхронизации Maven иногда может быть повреждена.

Ответ 15

Если это проект Gradle, в файле build.gradle выполните следующие настройки:

sourceCompatibility = "xx"
targetCompatibility = "xx"

Для всех подстроек в файле root build.gradle вы можете поставить:

subprojects { project ->
    sourceCompatibility = "1.7"
    targetCompatibility = "1.7"
}

Хотя вы можете вручную установить языковые уровни в Idea > Settings, если это проект Gradle, Idea автоматически синхронизирует модули .iml файлов с настройками Gradle (проверяется с помощью Idea 15+). Таким образом, все ваши изменения вручную переопределяются при обновлении Gradle.

На основе Gradle documentation, если они не установлены, используется текущая конфигурация JVM.

Ответ 16

Убедитесь, что выбрана правильная настройка. Файл > Структура проекта

Выберите проект и перейдите на вкладку "Зависимости". Выберите правильную зависимость от раскрывающегося списка или создайте новую.