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

Java 如何避免IntelliJ重置语言级别?,java,intellij-idea,java-10,javacompiler,Java,Intellij Idea,Java 10,Javacompiler,我有这方面的问题,已经回答了很多次在这个网站上 我对这个问题的看法有点不同。我有一个使用maven 3.5.x和java release 10(在maven编译器插件中配置)构建的项目 当查看IntelliJ的项目结构时,所有模块都具有语言级别10(但项目设置为语言级别6,项目结构中选择的sdk为1.8 但是,即使我将sdk更改为java 10,将项目语言级别更改为10,下面粘贴的错误仍然会发生 我的IntelliJ版本:IntelliJ IDEA 2018.2.5 要重现此错误,请执行以下操作

我有这方面的问题,已经回答了很多次在这个网站上

我对这个问题的看法有点不同。我有一个使用maven 3.5.x和java release 10(在maven编译器插件中配置)构建的项目 当查看IntelliJ的项目结构时,所有模块都具有语言级别10(但项目设置为语言级别6,项目结构中选择的sdk为1.8

但是,即使我将sdk更改为java 10,将项目语言级别更改为10,下面粘贴的错误仍然会发生

我的IntelliJ版本:IntelliJ IDEA 2018.2.5

要重现此错误,请执行以下操作:

  • 从版本控制(GIT)签出

  • GitHub:

    尝试在IntelliJ中构建它:

信息:java:编译模块时出错 “jactor commons”信息:JavaC10.0.1用于编译java 资料来源:2018年10月29日,21:31-汇编完成,共1页 4 s 777 ms中的错误和0警告错误:java:未发布版本5 支持


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

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


在上图中,您可以注意到模块guice和hbase默认使用Java版本5,而我已将其他模块更新为使用Java版本11,这在使用JDK 11编译和执行它们时效果很好。

在我的情况下,我必须更新
pom.xml
中的值,并刷新maven

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

11
11

我只是更新了
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>

maven编译器插件
3.8.0
1.11
1.11
11

maven.compiler.source和maven.compiler.target已被弃用…请使用11