如何更改IntelliJ中所有模块的语言级别

Nie*_*Wet 25 intellij-idea

我有一个包含MANY模块的项目.我们正在升级到Java7,我希望我的编辑能够反映这一点.现在我的所有模块都专门将语言级别设置为Java6,并且我有太多模块可以为每个模块更改此设置.如何将所有模块设置为Java7?更好的是,如何设置所有模块以使用项目的语言级别?

Jea*_*ean 19

正如Lambart对另一个答案的评论所指出的,该解决方案不适用于完全更改所有模块的目标版本.

此外,请注意,为项目设置目标级别很好,但此目标版本将被模块中指定的版本覆盖.

如果你像我一样不幸并且需要​​处理100多个模块的Java单块,那么逐个更换模块将是一件痛苦的事.


我的解决方案是"烦人的",但在LINUX下工作.我假设在示例中您要将表单1.5更新为1.8.

步骤1)您必须进入该.idea文件夹并查找该文件compiler.xml.

替换target标签中的所有值<module>,例如

target="1.5" 
Run Code Online (Sandbox Code Playgroud)

target="1.8"
Run Code Online (Sandbox Code Playgroud)

步骤2)进入项目文件夹并运行以下脚本

find . -type f -name "*.iml" -print0 | xargs -0 sed -i "s/JDK_1_5/JDK_1_8/g"
Run Code Online (Sandbox Code Playgroud)

将模块中的所有语言级别替换为JDK8兼容.

  • 如果您使用的是mac,请注意失败的`sed -i`(请参阅http://stackoverflow.com/questions/4247068/sed-command-with-i-option-failing-on-mac-but-works- on-linux) - 你必须使用`find.-type f -name"*.iml"-print0 | xargs -0 sed -i"""s/JDK_1_5/JDK_1_8/g"`相反! (4认同)

Sho*_*Sha 18

在IntelliJ IDEA 14.0中,转到文件| 项目结构| 模块(Ctrl + Shift + Alt + S).

模块列表支持多种选择

  • Ctrl单击各个模块
  • Shift单击模块范围
  • Ctrl-A所有模块

在下拉菜单中选择语言级别,然后手动选择级别或"使用项目语言级别".

同样,要更改项目的语言级别,请在"项目设置"下左侧的功能区中选择项目.项目语言级别提供下拉菜单.选择所需的级别.这将设置所有项目模块默认值.

来源

  • 谢谢。这很有帮助,除了没有出现选择多个模块允许您一次更改所有模块的“语言级别”的情况。我必须选择每个模块,然后才能将其“语言级别”设置为“项目默认值”,这正是我想要的。 (2认同)
  • 仅当“所有**”所选模块具有相同的语言级别时,多项选择才有效–如果语言级别混合,则设置语言级别无效。看起来像个虫子.. (2认同)
  • 多选在 IntelliJ 2017.3.2 中对我不起作用,即使在确保所有模块开始时都具有相同的语言级别。 (2认同)
  • @ShooShoSha 多选不起作用。它只是更改了第一个模块的值。 (2认同)

ius*_*ing 6

其他的解决方案并没有为我工作,甚至用手修改后compiler.xml,所有的.iml文件中LANGUAGE_LEVEL仍然设置为"JDK_1_5"。这是由maven-compiler-plugin插件的configuration选项引起的。

将其更改为以下固定它:

<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>
Run Code Online (Sandbox Code Playgroud)

希望这也能解决其他人的问题。