Intellij idea Language level和Java Compiler版本自动变化问题

概述

最近将Intellij Idea的版本升级之后,在对maven项目进行编译或打包时,经常出现一大堆的错误,错误的提示基本上都是jdk版本不正确导致的语法错误。刚开始没太留意,以为是默认配置没有修改。于是把Settings中的Java Compiler和Project 
Settings中的Language level都改为自己使用的版本,比如jdk1.7,问题暂时得到解决。可是下次编译或打包又会偶然出现同样的问题(后来发现之所以偶然出现是因为对pom文件改动才会出现)。

原因分析

经排查,原来是这个问题的根源在于maven的pom.xml文件中未配置jdk版本导致。当未配置jdk版本时,一旦pom文件发生变化,Java Compiler和Language level会自动变回到原来的默认1.5版本。

解决方案

在pom文件中添加maven-compiler-plugin插件,并指定jdk使用的jdk版本即可解决上面问题。maven-compiler-plugin的配置同时对Java compiler和Language level同时生效。 
配置内容如下:
 

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

本人现在使用的jdk7,因此配置1.7。遇到类似问题,可根据具体使用的jdk版本配置相应的版本号。

 

上一篇:Kyalio率先发表亚洲唯一Day-to-Day内视镜/腹腔镜虚拟现实手术案例数据库


下一篇:Elsa 工作流引擎 Hello World