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

12

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

我的问题有些不同。我有一个项目,使用maven 3.5.x和Java release 10(在maven-compiler-plugin中进行配置),可以正常构建。

当查看IntelliJ的项目结构时,所有模块都具有语言级别10(但项目设置是语言级别6,并且项目结构中选择的sdk是1.8 ...

然而,即使我将sdk更改为Java 10并将项目语言级别更改为10,下面粘贴的错误仍会出现... ????

我的IntelliJ版本:IntelliJ IDEA 2018.2.5

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

Information:java:编译模块时出错'jactor-commons' Information:javac 10.0.1用于编译java源代码 信息:29/10/2018, 21:31 - 编译完成,1个错误和0个警告在4秒777毫秒内 Error:java:不支持发布版本5

3个回答

12

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

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

这里输入图片描述

在上面的图像中,您可以注意到模块guicehbase默认使用Java版本5,而我已将其他模块更新为使用Java版本11,在使用JDK 11编译和执行它们时可以正常工作。


3
在我的情况下,我需要更新 pom.xml 中的值并刷新 Maven。
<properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
</properties>

maven.compiler.source和maven.compiler.target已被弃用...请使用<release>11</release>。 - jactor-rises
刷新Maven是我这种情况下缺少的。谢谢! - knguyen

2
我刚刚更新了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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接