如何避免 IntelliJ 重置语言级别?

How to avoid IntelliJ to reset language level?

我遇到了这个问题,这个网站已经回答了很多次。

我对这个问题的看法有点不同。我有一个使用 maven 3.5.x 和 java 版本 10 构建良好的项目(在 maven-compiler-plugin 中配置) 查看 IntelliJ 的项目结构时,所有模块的语言级别为 10(但项目设置为语言级别 6,项目结构中选择的 sdk 为 1.8...

但是,即使我把sdk改成java10,项目语言级别改成10,还是会出现下面粘贴的错误...???

我的IntelliJ版本:IntelliJ IDEA 2018.2.5

要重现此错误:

Information:java: Errors occurred while compiling module 'jactor-commons' Information:javac 10.0.1 was used to compile java sources Information:29/10/2018, 21:31 - Compilation completed with 1 error and 0 warnings in 4 s 777 ms Error:java: release version 5 not supported

您可以通过以下设置更新要执行的模块的 Java 编译器版本以使用 Java 版本 10:

构建、执行、部署 => 编译器 => Java 编译器 => 更新目标字节码版本

在上图中,您可以注意到模块 guicehbase 默认使用 Java 版本 5,而我已经更新了其他人以使用 Java 版本 11,这是在使用 JDK 11 编译和执行它们时工作得很好。

在我的例子中,我必须更新 pom.xml AND 刷​​新 maven 中的值。

<properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
</properties>

我刚刚更新了 pom.xml,它对我有用。

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <source>1.11</source>
        <target>1.11</target>
        <release>11</release>
    </configuration>
</plugin>