Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:
但是 Eclipse 明明已经将编译级别设置为 1.7:
这是由于你的 Maven 编译级别是 jdk1.5 或以下,而你导入了 jdk1.6 以上的依赖包:查看 Eclipse 的 Navigator 视图下该项目的 .classpath 文件:
-
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"> -
<attributes> -
<attribute name="maven.pomderived" value="true"/> -
</attributes> -
</classpathentry>
解决办法:
使用 maven-compiler-plugin 将 maven 编译级别改为 jdk1.6 以上,这一部分的代码是加在pom.xml文件后面的,就是加在<build></build>标签内部的:
-
<build> -
<plugins> -
<!-- define the project compile level --> -
<plugin> -
<groupId>org.apache.maven.plugins</groupId> -
<artifactId>maven-compiler-plugin</artifactId> -
<version>2.3.2</version> -
<configuration> -
<source>1.7</source> -
<target>1.7</target> -
</configuration> -
</plugin> -
</plugins> -
</build>
参考资料
- http://stackoverflow.com/questions/12857535/eclipse-maven-update-causes-corruption-of-jvm-setting
- http://stackoverflow.com/questions/5783338/what-is-the-use-of-org-eclipse-jdt-launching-jre-container-in-eclipse