При запуске теста JUnit, используя IntelliJ IDEA, я получаю
Как я могу это исправить?
- Использование SDK 1.7
- Уровень языка модуля - 1.7.
Maven build отлично работает. (Вот почему я верю в проблему конфигурации IDEA)
При запуске теста JUnit, используя IntelliJ IDEA, я получаю
Как я могу это исправить?
Maven build отлично работает. (Вот почему я верю в проблему конфигурации IDEA)
Скорее всего, у вас есть неправильные параметры компилятора, импортированные из Maven здесь:
Также проверьте параметры версии проекта и модуля байт-кода (target), изложенные на снимке экрана.
Другие места, где настроен языковой уровень source:
Уровень владения языком 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:
Аналогично тому, как это описано ниже для IntelliJ 13 и 14, но с дополнительным уровнем на панели "Настройки/Предпочтения": "Настройки" > "Сборка", "Выполнение", "Развертывание" > "Компилятор" > "Компилятор Java".
В IntelliJ 13 и 14 проверьте настройки > Компилятоp > Компилятор Java, чтобы убедиться, что вы не настроили таргетинг на другую версию байт-кода в своем модуле.
В IntelliJ IDEA 14.1 "Целевая версия байт-кода" находится в другом месте.
Для меня изменилось следующее изменение:
Файл > Настройки... > Создание, выполнение, развертывание > Компилятоp > Компилятор Java: изменить Версия байт-кода цели от 1,5 до 1,8
Вы посмотрели на свою конфигурацию сборки, ей это должно понравиться, если вы используете 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>
Я столкнулся с этим, и исправление должно было перейти в "Настройки проекта" > "Модули" > на вкладку "Специальный вкладок". Я заметил, что модуль SDK по-прежнему установлен на 1.6, я изменил его на 1.7, и он сработал.
Я нашел необходимые параметры ( "target bytecode version" ) в настройках > компилятоp > java-компилятор в моем случае (идея intelij 12.1.3)
Измените файл настроек компилятора проекта в следующем пути и измените "цель" на 1.7:
/project/.idea/compiler.xml
<bytecodeTargetLevel>
<module name="project-name" target="1.7" />
</bytecodeTargetLevel>
От одного момента к другому я также получил эту ошибку без ясной причины. Я изменил все настройки в компиляторе/модуле и т.д. Но в итоге я только что воссоздал проект IntelliJ, реимпортируя проект Maven, и проблема была решена. Я думаю, что это ошибка.
IntelliJ 12 129.961
Я разрешил его, установив поле пустым:
Настройки > Компилятоp > Компилятор Java > Версия байт-кода проекта
Чем IntelliJ использует версию по умолчанию JDK.
Я ударил его после небольшого обновления от IntelliJ IDEA 14 до версии 14.1. Для меня изменилось редактирование справки top/parent pom, а затем нажал на повторный импорт Maven (если он не автоматический).
Но, возможно, этого достаточно, чтобы щелкнуть правой кнопкой мыши модуль (модули)/агрегированный/родительский модуль и Maven → Reimport.
Я разрешил следующий метод
Файл → Структура проекта → Проект → Уровень языка проекта - > установите правильную версию (например: 1.5)
проверить .idea/misc.xml иногда вам нужно вручную изменить атрибут languageLevel = "JDK_1_X"
Я нашел другой способ столкнуться с этой ошибкой. Вы можете получить это, если вы повторно организовали структуру своего каталога, а один из ваших попов указывает на старого родителя, который больше не настраивает javac (поскольку эта конфигурация была перемещена на средний уровень). Если это произойдет, то по умолчанию верхний уровень будет равным 1,5, а неправильный нижний уровень pom наследует его.
Итак, еще одна вещь, которую нужно проверить, когда вы видите эту ошибку, заключается в том, что ваша структура pom правильно соответствует структуре вашего каталога.
Если Maven build отлично работает, попробуйте синхронизировать структуру проектов Maven и IntelliJ IDEA.
В окне инструмента Maven нажмите кнопку обновления . При нажатии этой кнопки IntelliJ IDEA анализирует структуру проекта в окне инструмента Maven.
Обратите внимание, что это может не помочь, если вы используете сборку EAP, так как функция синхронизации Maven иногда может быть повреждена.
Если это проект 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.
Убедитесь, что выбрана правильная настройка. Файл > Структура проекта
Выберите проект и перейдите на вкладку "Зависимости". Выберите правильную зависимость от раскрывающегося списка или создайте новую.