在maven的默认配置中,对于jdk的配置是1.4版本,那么创建/导入maven工程过程中,工程中未指定jdk版本。
对工程进行maven的update,就会出现工程依赖的JRE System Library会自动变成JavaSE-1.4。
还有一种情况就是在maven指令编译的时候,如果jdk版本高,则需要匹配高版本的maven.compiler。之前遇到过类似的错误,但是没有记录。可惜...
解决方案1:修改maven的默认jdk配置
maven解压目录的confsetting.xml文件中找到jdk配置的地方,修改如下:
-
<profile>
-
<id>jdk1.6</id>
-
<activation>
-
<activeByDefault>true</activeByDefault>
-
<jdk>1.6</jdk>
-
</activation>
-
<properties>
-
<maven.compiler.source>1.6</maven.compiler.source>
-
<maven.compiler.target>1.6</maven.compiler.target>
-
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
-
</properties>
-
</profile>
这种方案不是首选,因为开发过程中有可能会经常jdk版本切换,新老项目要求的环境也有可能不同,统一配置后会导致其他空间或者环境低版本或者高版本的问题。
解决方案2:修改项目中pom.xml文件,这样避免在导入项目时的jdk版本指定
打开项目中pom.xml文件,修改如下(推荐解决方案):
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
- </plugins>
- </build>