Подтвердить что ты не робот

Как изменить уровень языка для всех модулей в IntelliJ

У меня есть проект с модулями MANY. Мы обновляемся до Java7, и я хочу, чтобы мой редактор отражал это. Теперь все мои модули специально устанавливают уровень языка на Java6, и для меня слишком много модулей, чтобы изменить этот параметр для каждого модуля. Как установить все модули на Java7? Еще лучше, как установить все модули на уровне языка проекта?

4b9b3361

Ответ 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>

Надеюсь, что это решает и для других.