如何更改 Intellij 中所有项目的项目语言级别

How to change project language level for all project in Intellij

我正在使用 Intellij。这很好,但是当我创建一个新项目或导入一个项目时,默认项目语言级别设置为 6(接口中的@override)。但我想将其设置为 8(Lambda、类型注释等)。我怎样才能做到这一点?我尝试更改 "Other Settings" -> "Default Project Structure" 中的设置并将项目语言级别设置为 8,但没有成功。请有人帮助我。我添加了一个屏幕截图。

文件 -> 其他设置 -> 默认项目结构...

你可以在那里更改它。

(编辑:现在称为 "Structure for New Projects")

我按照上面的建议将设置更改为 Java 8...->默认项目结构

没用!!

我仍然无法在编辑器中正确编写 Lambda 的

创建项目时,我选择了Gradle 作为构建工具。 出于某种原因,我的 Java/Gradle 项目将 build.gradle 文件中的源兼容性设置为 1.5(可能是因为我的默认值最初设置为 1.5...我不知道,因为我懒得复制它):

apply plugin: 'java'

sourceCompatibility = 1.5

repositories {
    mavenCentral()
}

sourceCompatibility 更改为 1.8 解决了问题,因为对 gradle 文件的更新也会触发项目构建。

智者之言:

any newbie on Intelij should remember that not selecting either Maven or Gradle in conjunction with your Java project creation will not setup the default package (src/main/test and src/main/java) structures necessary; for eclipse users this is a real head scratcher when first starting to use Intelij.

我不得不编辑 .idea/misc.xml 并将 languageLevel="JDK_1_7" 更改为 languageLevel="JDK_1_8"。我无法通过 osx 中的 ui 更改语言级别。

** Intellij 15.0.4

我有同样的问题。更改 IntelliJ IDEA 设置文件(misc.xml、compiler.xml)没有帮助。然后我在两个地方更改了语言级别:

1) File -> Project Structure -> Modules, "Sources" tab, Language level 8 (or higher).

2) Settings -> Build, Execution,Deployment -> Compiler -> Java Compiler -> Target bytecode version (version 1.8)

这很好用。

如果是maven项目,请确保设置了以下内容。

例如,如果你想使用Java 8语言特性(-source 1.8)并且还希望编译后的类兼容JVM 1.8(-target 1.8),你可以添加以下两个属性,它们是插件参数的默认 属性 名称:

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

有关详细信息,请查看 this

同样的问题,但解决方案略有不同。 IntelliJ(2018.1.15)给了我将语言级别设置为 6 的选项,我接受了。这将以下内容添加到项目 .iml 文件中:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>6</source>
                <target>6</target>
            </configuration>
        </plugin>
    </plugins>
</build>

然后我能够将源和目标更新为 8。

我通过以下方式解决了这个问题:

文件 -> 项目结构... 并从 "Project language level"

下的下拉列表中选择一个选项

希望对您有所帮助!