前言
intellij 的maven插件默认都会采用jdk 1.5编译,不管我安装的jdk版本是jdk7 jdk8,非常不方便,尤其是时不时使用jdk7/8的新特性。如果使用新特性,编译器直接报错,手动指定了编译版本,下回import又回到了以前的默认设置1.5,非常的烦心。比如笔者
1. 解决思路
1.1 不彻底的做法
按照下图,任意一种方法,打开项目结构管理器
如下图,设置项目编译级别,笔者安装了JDK12.
到这里并没有结束,还需要设置,每个module都要设置
这时,编译报错就会解决,但是当我们执行程序的时候还是会报错
还需要一处设置,任意一种方式打开
打开,将下图的标记删除或者修改为项目需要的版本
运行程序,ok了。但是,但是下次程序import后有一定可能,配置还原,笔者测试不是每次都还原
1.2 官方推荐做法
maven官方使用配置固定jdk的编译版本
只需要在父pom加入,maven reimport即可
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
加入后点击下图标记即可
下次导入项目会重新reimport(自动的)
咨询同事,他提供了一种办法,稍微复杂点
1.3 build插件方法
父pom加入build插件,这里使用3.0版本,也可以不写版本号,maven默认使用2.2版本
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
实际上,maven已经默认使用这个插件打包编译,默认jdk 1.5 默认插件版本2.2
经实际测试ok