如何取消 Maven 工程默认的jdk版本
问题描述
配置好 Maven 工程的 build 环境后,JRE System Library 使用的是本地安装的 jdk 1.7 里面的 JRE,但工程有程序报错,查到是依赖包冲突导致的,另外一个工程同样的程序没问题,遂更新了下 Maven 工程(使用 Maven->Update Maven Project-> Force Update of Snapshots/Releases) , 更新完后,程序报的错误增多,有的程序方法上的 @Override 注解提示该注解是无效的。
原因
仔细看了工程结构,才发现 Libraries 下的编译环境变成 javaSE 1.4 了,重新配置 build path,使用本地安装的 jdk 1.7 中的 JRE,新增的错误消失。再更新 JRE 版本又变了,所以这个问题应该是 Maven 有设置默认的编译器。
问题解决
原来 pop.xml 文件有设置默认的 jdk:
<!-- Ensures we are compiling at 1.6 level -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
把这段默认配置去掉即可,或者将 ${java.version} 改为指定版本如 1.7。
再次更新就不会出现 JRE 版本重置问题了。