0
点赞
收藏
分享

微信扫一扫

解决IDEA自动重置LanguageLevel和JavaCompiler版本的问题

西曲风 2022-08-19 阅读 17


使用IDEA时,导入的Maven项目默认的LanguageLevel和JavaCompiler都是1.5,1.5的情况下连最简单的​​@Override​​注解都不支持,所以项目可能出现一堆错。

虽然在项目上F4可以修改LanguageLevel,在settings中可以修改JavaCompiler版本,但是一旦Maven项目有变化,发生自动的update时,这里做的修改就都白费了。IDEA会重置这些配置。

经过Google搜索,最后找到解决办法,参考如下地址:

​​http://stackoverflow.com/questions/27037657/stop-intellij-idea-to-switch-java-language-level-everytime-the-pom-is-reloaded​​

解决办法就是在pom.xml中指定​​maven-compiler-plugin​​的版本,该版本会同时影响LanguageLevel和JavaCompiler,修改后默认就成了这里设置的版本。

添加下面的配置:

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

这里设置的​​1.8​​,根据个人需要修改即可。

2021-7-2补充

看到很多人还在参考本篇博客,这里更新一下,推荐下面的方式配置 jdk 版本

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

除了 Jdk 版本外,最好也设置编码:

<project>
[...]
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
[...]
</project>

官方文档地址: ​​Setting the -source and -target of the Java Compiler​​


举报

相关推荐

0 条评论