在maven的默认配置中,对于jdk的配置是1.4版本,那么创建/导入maven工程过程中,工程中未指定jdk版本。

对工程进行maven的update,就会出现工程依赖的JRE System Library会自动变成JavaSE-1.4。

还有一种情况就是在maven指令编译的时候,如果jdk版本高,则需要匹配高版本的maven.compiler。之前遇到过类似的错误,但是没有记录。可惜...

 

解决方案1:修改maven的默认jdk配置

           maven解压目录的conf\setting.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文件,修改如下(推荐解决方案):

1. <build>  
2. <plugins>  
3. <plugin>  
4. <groupId>org.apache.maven.plugins</groupId>  
5. <artifactId>maven-compiler-plugin</artifactId>  
6. <configuration>  
7. <source>1.6</source>  
8. <target>1.6</target>  
9. </configuration>  
10. </plugin>  
11. </plugins>  
12. </build>
  1.