Несмотря на указание JDK 1.7 во всех настройках проекта (включая in File -> Project Structure -> Project :: Project SDK
), IntelliJ 13
при попытке скомпилировать простой код Java 7, использующий оператор diamond, возникает следующая ошибка :
java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)
Есть ли другое место в конфигурации, где -source 7
должна быть включена ожидаемая опция?
File -> Project Structure -> Project :: Project language level
поменять наDiamonds, ARM, multi-catch etc
?Ответы:
Если ничего из этого не помогает (в моем случае), вы можете установить его в своем файле pom.xml, например так:
Как этот крутой парень упомянул здесь: https://stackoverflow.com/a/25888116/1643465
источник
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
Форум поддержки InteliJПожалуйста, проверьте уровни языка вашего проекта / модуля (Структура проекта | Проект; Структура проекта | Модули | Имя модуля | Источники). Вы также можете взглянуть на Настройки | Компилятор | Компилятор Java | Версия байт-кода для каждого модуля.
Установите также это:
Файл -> Структура проекта -> Модули :: Источники (рядом с путями и зависимостями) и имеет параметр «Уровень языка», который также должен быть установлен правильно.
источник
Additional command line parameters
вJava Compiler
настройках пусто.[Для IntelliJ IDEA 2016.2]
Я хотел бы расширить часть ответа Петра Громова современным снимком экрана. Конкретно эта конкретная часть:
Я считаю, что (по крайней мере, в 2016.2): проверка различных коммитов в
git
сбрасывает их до 1,5.источник
git checkout
). Я обнаружил, что смог безопасно удалить записи в этом списке; модуль возвращается к использованию «версии байт-кода проекта».Кроме того, вы можете применить maven-compiler-plugin с соответствующей версией Java, добавив это в ваш pom.xml:
источник
Я попытался внести изменения в Intellij IDEA, как показано ниже:
1.
2.
но ничего не помогло, он вернул версии на Java 1.5, как только я его сохранил.
Тем не менее, добавление следующих строк в root (уровень проекта) pom.xml помогло мне решить вышеуказанную проблему: (оба варианта работали для меня)
Опция 1:
Вариант 2:
источник
Файл-> Структура проекта-> Настройки проекта-> Проект-> Уровень языка проекта
Файл-> Структура проекта-> Настройки проекта-> Модули-> Уровень языка
Изменить уровень с помощью выпадающего
источник
В командной строке (терминал Unix) перейдите в корневую папку вашего проекта и сделайте это
Это изменит свойство языкового уровня во всех файлах .iml вашего проекта с Java 1.5 на Java 1.8.
источник
compiler.xml
корне проекта (IntelliJ 2017.2):sed 's/target="1.5"/target="1.8"/g' .idea/compiler.xml
Во- первых, вам необходимо изменить «байткодом версию проекта» под
File > Settings
,Compiler > Java Compiler
Во-вторых, сделайте полную перестройку.
источник
У меня та же проблема, но с другой ситуацией. Я могу скомпилировать без проблем с Maven в командной строке (
mvn clean install
), но в Intellij я всегда получаю"java: diamond operator is not supported in -source 1.5"
ошибку компиляции, несмотря на то, что я установил maven-compiler-plugin с java 1.8 в pom.xml.Оказалось, у меня есть настройки удаленного репозитория в файле maven settings.xml, от которых зависит проект, но Intellij использует свой собственный maven, который не имеет такой же настройки с моим локальным maven.
Поэтому я решил изменить настройку Intellij maven (
Settings -> Build, execution, Deployment -> Maven -> Maven home directory
) для использования локального maven.источник
В IntelliJ Community Edition 2019.02 изменение следующих настроек работало для меня
Обновите Файл-> Структура проекта-> Настройки проекта-> Проект-> Уровень языка проекта до Java 11 (обновите до версии Java, которую вы хотите использовать в своем проекте), используя раскрывающийся список.
Обновить файл-> Структура проекта-> Настройки проекта-> Модули-> Уровень языка
Обновите Файл-> Настройки-> Сборка, Выполнение, Развертывание -> Компилятор -> Компилятор Java-> Версия ByteCode проекта до java 11.
Обновите целевую версию для всех записей в меню Файл-> Настройки-> Построение, Выполнение, Развертывание -> Компилятор -> Компилятор Java-> Версия байт-кода для каждого модуля.
источник
В IntelliJ 2017 у меня работало следующее свойство
источник
Еще одна вещь , которая может привести к этому оказывает неправильное
version
из<parent>
проекта.В моем случае это указывало на несуществующий проект, и по какой-то причине IntelliJ понизил версию в настройках до 1.5 и позже, когда я исправил ее, он все еще интерпретировал целевую версию кода как 5 (несмотря на установку его в 11).
источник