解决IDEA maven变更后自动重置LanguageLevel和JavaCompiler版本的问题

使用IDEA时,导入的Maven项目默认的LanguageLevel和JavaCompiler都是1.5,1.5的情况下连最简单的@Override注解都不支持。

虽然可以通过setting中可以修改JavaCompiler版本和在Project Structure可以修改LanguageLevel,但是一旦Maven项目有变化,甚至刷新一下pom.xml,IDEA会重置这些配置。相当的苦逼。

苦逼如下:

解决IDEA maven变更后自动重置LanguageLevel和JavaCompiler版本的问题

解决IDEA maven变更后自动重置LanguageLevel和JavaCompiler版本的问题


解决办法:

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

添加配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
<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,根据个人需要修改即可。如果pom.xml中已经有指定<build>,你只需从<plugin>节点开始添加到配置即可。