У меня есть проект с модулями MANY. Мы обновляемся до Java7, и я хочу, чтобы мой редактор отражал это. Теперь все мои модули специально устанавливают уровень языка на Java6, и для меня слишком много модулей, чтобы изменить этот параметр для каждого модуля. Как установить все модули на Java7? Еще лучше, как установить все модули на уровне языка проекта?
Как изменить уровень языка для всех модулей в IntelliJ
Ответ 1
Как указано в комментарии Lambart к другому ответу, решение не работает для изменения целевой версии для всех модулей в целом.
Также обратите внимание, что установка целевого уровня для проекта в порядке, но эта целевая версия переопределяется той, которая указана в модуле.
Если вам, как и мне, не повезло, и вам нужно работать с более чем 100 модулями Java-монолита, а затем смену модулей один за другим будет больно.
Мое решение "раздражает", но работает под LINUX. Я предполагаю в примере, что вы хотите обновить форму 1.5 до 1.8.
Шаг 1) Вы должны зайти в папку .idea
и искать файл compiler.xml
.
Замените все значения target
в теге <module>
, например.
target="1.5"
to
target="1.8"
Шаг 2) зайдите в папку проекта и запустите следующий script
find . -type f -name "*.iml" -print0 | xargs -0 sed -i "s/JDK_1_5/JDK_1_8/g"
чтобы заменить весь уровень языка в модулях, совместимых с JDK8.
Ответ 2
В IntelliJ IDEA 14.0 перейдите в File | Структура проекта | Модули (Ctrl + Shift + Alt + S).
Список модулей поддерживает множественный выбор, поэтому
- Ctrl выберите отдельные модули
- Диапазон изменения кликов модулей
- Ctrl-A все модули
Выберите в раскрывающемся меню "Уровень языка" и выберите вручную уровень или "Использовать уровень языка проекта".
Аналогично изменению уровня языка для проекта выберите проект в ленте слева в разделе "Настройки проекта". Выпадающее меню доступно для уровня уровня проекта. Выберите необходимый уровень. Это установит значение по умолчанию для всех модулей проекта.
Источники
Ответ 3
Другие решения не сработали для меня, даже после изменения вручную compiler.xml
и всех .iml
файлов LANGUAGE_LEVEL
по-прежнему был установлен на "JDK_1_5"
. Это было вызвано плагином maven-compiler-plugin
.
Сменив его на следующее, он зафиксировал его:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
Надеюсь, что это решает и для других.