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.pluginsgroupId>
            <artifactId>maven-compiler-pluginartifactId>
            <version>3.5.1version>
            <configuration>
                <source>1.7source>
                <target>1.7target>
            configuration>
        plugin>
    plugins>
build>

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

你可能感兴趣的:(Intellij,IDEA,Intellij,IDEA日常使用)