Не удалось выполнить компиляцию с использованием Java 1.7 в Jetbrains Intellij после перехода с 1,6 до 1,7 (проект на основе maven)

Использование проекта Jetbrains 11.2 на основе проекта Maven. Затем мне нужно было перейти на 1.7. У меня установлен 1.7, я обновил свой pom.xml, и я могу перестроить весь пакет, используя maven в порядке.

Я изменил каждую настройку, которую вижу в настройках Intelli Projects в отношении версии Java

  • Проект SDk
  • Язык проекта Уровень
  • Модули Языки/Источники/Уровень языка
  • Модули Языки/Зависимости/Модуль SDK

но я не могу заставить его скомпилировать файл, который он жалуется:

Error:javac target release of 1.6 conflicts with source release 1.7

Затем я попробовал на другой машине, используя ту же базу кода, но другой Intellij Project, и на этом я получаю аналогичную ошибку:

Error:javac: source release 1.7 requires target release 1.7

Я не вижу ничего другого, чтобы изменить его, чтобы это работало.

Ответ 1

Doh, нашел его

Файл/Настройки/Компилятор Java/Дополнительные параметры командной строки

изменено с -трассы 1.6 на -target 1.7

Кажется странным, что он здесь, хотя и отключен от остальных связанных опций.

Ответ 2

В качестве альтернативного решения, которое работало для меня, нужно проверить Настройки модуля. Уровень языка. Он был установлен в 8.0 Lambdas и изменен на 6.0 @Overrides in interfaces, и после этого компиляция работала без ошибок.

Ответ 3

IntelliJ 2017 (также 15 или 2016)

Вы можете изменить версию компилятора здесь:

File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler

Теперь измените Target bytecode version на желаемый.

IntelliJ 13 или 14

Вы можете изменить версию компилятора здесь:

 Intellij IDEA -> Preferences -> Compiler -> Java Compiler
 -> Project bytecode version -> 1.7 (for example)

Ответ 4

Для IntelliJ 12 я решил это, открыв структуру File: Project и обновив SDK проекта до 1.7 и уровень языка Project до "7.0 - Diamonds, ARM, multi-catch и т.д.".

Если у вас нет IntelliJ, настроенного с JDK 1.7, добавьте его с помощью кнопки "Создать". Выберите тип "JDK".

Ответ 5

Еще одно потенциальное решение состоит в том, чтобы убедиться, что ваш файл сборки имеет версию с жестким кодом, как показано здесь.

    <javac target="1.7" source="1.7" ... />

в отличие от

<property name="java.version" value="1.7" />
<javac target="${java.version}" source="${java.version}" ... />

Хотя это может быть связано с моим непониманием того, как переменные работают в файлах сборки. Вы могли бы подумать, что это имеет смысл, хотя

Ответ 6

Я столкнулся с той же проблемой. Я решил его с помощью Intellij IDEA → Настройки → Компилятор → Компилятор Java  - > Версия байт-кода проекта → 1.7 и версия байт-кода Target → 1.7