Используя IntelliJ 12, у меня есть проект Java, и я использую Maven с pom.xml. Мой проект использует java8, но кажется, что уровень языка проекта по умолчанию был установлен на 6 при импорте проекта.
Я могу изменить уровень языка на 8.0 (F4 -> Модули -> Уровень языка), однако каждый раз, когда я редактирую свой pom.xml, уровень проекта переключается обратно на «Использовать уровень языка проекта», и мне приходится снова редактировать эти настройки и очередной раз.
Что мне нужно добавить в pom.xml, чтобы установить уровень языка по умолчанию 8.0?
java
maven
intellij-idea
pom.xml
Quentin
источник
источник
Ответы:
Согласно комментарию Марка, вот как это сделать:
источник
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
Более короткая версия ответа викингов:
источник
Я думаю, что это связано с концептуальным конфликтом между плагином компилятора Maven и идеей IntelliJ. По-видимому, более новые версии плагина компилятора имеют уровень по умолчанию 1,5 (см. Http://maven.apache.org/plugins/maven-compiler-plugin/ ). Таким образом, если плагин компилятора вообще используется в проекте, а уровень компилятора явно не задан в файле pom.xml, при повторной обработке POM уровень будет возвращаться к значению по умолчанию.
Таким образом, существует концептуальный конфликт, который игнорируется Intellij IDEA. Среда IDE по-прежнему позволяет устанавливать параметры проекта и модуля, но не выдает предупреждений или отзывов о том, что этот параметр контролируется pom.xml. Решения могут заключаться либо в том, чтобы явно разрешить переопределение настроек плагина компилятора POM (возможно, не разумно, потому что так происходит при использовании maven в командной строке), либо в отключении элементов управления в IDE, когда этот параметр действует из POM.
Решение в настоящее время состоит в том, чтобы установить желаемый уровень компилятора в плагине компилятора в pom, реимпорте, а не пытаться установить его в настройках модуля.
источник
Я обновляю проект с JDK 8 до JDK 10+. Я правильно указал свойства компилятора следующим образом:
Однако проект Idea продолжит сбрасывать языковой уровень до 8.
В конце концов я понял, что процесс импорта Idea в Maven использует JDK 8 для импорта проекта, который ограничивает уровень языка до <= 8.
Чтобы исправить это, я обновил свойство «JDK для импортера» в разделе «Настройки» -> «Сборка, выполнение, развертывание» -> «Инструменты сборки» -> Maven -> Импорт для использования JDK 11.
источник
Есть два способа сделать это, добавив один из них в ваш файл pom.xml:
Первый - Добавить свойства
второй - добавить плагин
Дайте мне знать, если это поможет.
источник
Ни одно из решений не помогло в моем случае. Мне не нужно было указывать какую-либо версию Java в моем
pom.xml
.Мне нужно было открыть
<project-name>.iml
файл и изменить там версию JDK.Оригинал:
Обновлено:
Это не имеет никакого смысла. Ни в коем случае я не указал версию JDK для Java 1.5.
источник
Я много боролся с этой проблемой из-за создания микросервисов с Dropwizard. В конце концов я обнаружил, что мои свойства сборки находятся в неправильном файле pom (основной сервис
pom.xml
).Итак, хотя другие пакеты больше похожи на библиотеки , я не смог использовать синтаксис Java 8.
Когда я реорганизовал плагин сборки в «глобальный»
.pom.xml
файл, все дочерние контейнеры смогли использовать новый синтаксис.Может помочь кому-то, имеющему проблемы с мультиконтейнерными проектами
источник
Для меня решение обновления POM (плагины плюс свойства) до требуемой версии компилятора Java (1_7 в моем случае) работало. Однако, поскольку файл .iml для каждого проекта был создан с оригинальным pom (с версией компилятора по умолчанию 1_5, как объяснено кем-то выше), имеет версию JDK 1_5, это все равно переопределяет версию pom.
Я удалил папку .idea вручную и импортировал модуль в IntelliJ с повторным импортом из обновленного pom. Когда я снова импортировал Модуль из обновленного POM, я увидел, что у файлов iml была обновленная версия JDK (1_7 в моем случае).
источник
Был еще один дополнительный шаг, который я должен был выполнить, помимо настройки свойств сборки maven , добавления плагина maven-compiler-plugin и изменения версии Java в файле .iml . (каждый задокументирован уже в других ответах). Вы также должны установить версию компилятора в настройках .
источник