Ответ 1
Doh, нашел его
Файл/Настройки/Компилятор Java/Дополнительные параметры командной строки
изменено с -трассы 1.6 на -target 1.7
Кажется странным, что он здесь, хотя и отключен от остальных связанных опций.
Использование проекта Jetbrains 11.2 на основе проекта Maven. Затем мне нужно было перейти на 1.7. У меня установлен 1.7, я обновил свой pom.xml, и я могу перестроить весь пакет, используя maven в порядке.
Я изменил каждую настройку, которую вижу в настройках Intelli Projects в отношении версии Java
но я не могу заставить его скомпилировать файл, который он жалуется:
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
Я не вижу ничего другого, чтобы изменить его, чтобы это работало.
Doh, нашел его
Файл/Настройки/Компилятор Java/Дополнительные параметры командной строки
изменено с -трассы 1.6 на -target 1.7
Кажется странным, что он здесь, хотя и отключен от остальных связанных опций.
В качестве альтернативного решения, которое работало для меня, нужно проверить Настройки модуля.
Уровень языка. Он был установлен в 8.0 Lambdas
и изменен на 6.0 @Overrides in interfaces
, и после этого компиляция работала без ошибок.
Вы можете изменить версию компилятора здесь:
File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler
Теперь измените Target bytecode version
на желаемый.
Вы можете изменить версию компилятора здесь:
Intellij IDEA -> Preferences -> Compiler -> Java Compiler
-> Project bytecode version -> 1.7 (for example)
Для IntelliJ 12 я решил это, открыв структуру File: Project и обновив SDK проекта до 1.7 и уровень языка Project до "7.0 - Diamonds, ARM, multi-catch и т.д.".
Если у вас нет IntelliJ, настроенного с JDK 1.7, добавьте его с помощью кнопки "Создать". Выберите тип "JDK".
Еще одно потенциальное решение состоит в том, чтобы убедиться, что ваш файл сборки имеет версию с жестким кодом, как показано здесь.
<javac target="1.7" source="1.7" ... />
в отличие от
<property name="java.version" value="1.7" />
<javac target="${java.version}" source="${java.version}" ... />
Хотя это может быть связано с моим непониманием того, как переменные работают в файлах сборки. Вы могли бы подумать, что это имеет смысл, хотя
Я столкнулся с той же проблемой. Я решил его с помощью Intellij IDEA → Настройки → Компилятор → Компилятор Java - > Версия байт-кода проекта → 1.7 и версия байт-кода Target → 1.7