Eclipse Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.7 or newer 解决方案
场景:在导入Maven项目时候遇到如下错误。
1 问题描述
Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:
Description Resource Path Location Type
Dynamic Web Module 3.1 requires Java 1.7 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.6 或以下,而你导入了 jdk1.7 以上的依赖包:查看 Eclipse 的 Navigator 视图下该项目的 .classpath 文件:
2 解决过程
概述:使用maven构建web项目时,经常会遇见这个问题,问题原因报错讲述的很清晰明了,就是web模块需要使用java1.7及以后的版本,目前的版本不符合。因而只需要修改java版本到1.7及以上即可。
解决方法:
1. 在eclipse 构建 web中关于java版本有三处需要修改统一。
(1)在 Java Build Path的libraries中修改
(2)在Java Compiler 中修改
(3)在Project Facet中修改
2. 大部分按上上述修改就应该可以了,但总是有意外,还是报错。因为使用了 maven构建项目,因而最好在pom.xml文件中的build标签中加入以下代码:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> //如果是1.8,修改为1.8 <target>1.7</target> //如果是1.8,修改为1.8 </configuration> </plugin> </plugins> </build>
3.最后再右键使用maven的Update Project 即可。