Maven 编译错误 Dynamic Web Module 3.0 requires Java 1.6 or newer 解决方案

会有一股神秘感。 提交于 2019-11-25 18:41:31

Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误
Description Resource Path Location Type
Dynamic Web Module 3.0 requires Java 1.6 or newer. bdp line 1 Maven Java EE Configuration Problem

Description Resource Path Location Type
One or more constraints have not been satisfied. bdp line 1 Maven Java EE Configuration Problem
如图:

但是 Eclipse 明明已经将编译级别设置为 1.7:


这是由于你的 Maven 编译级别是 jdk1.5 或以下,而你导入了 jdk1.6 以上的依赖包:查看项目目录下的 .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 以上:(注意以下plugins一定要放在Pom.xml文件里的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>   

参考资料

  1、http://stackoverflow.com/questions/12857535/eclipse-maven-update-causes-corruption-of-jvm-setting

      2、http://stackoverflow.com/questions/5783338/what-is-the-use-of-org-eclipse-jdt-launching-jre-container-in-eclipse

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!