场景:在导入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 Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.7 or newer 解决方案_解决方法

 

但是 Eclipse 明明已经将编译级别设置为 1.7:
(转) Eclipse Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.7 or newer 解决方案_maven构建_02
这是由于你的 Maven 编译级别是 jdk1.6 或以下,而你导入了 jdk1.7 以上的依赖包:查看 Eclipse 的 Navigator 视图下该项目的 .classpath 文件:

(转) Eclipse Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.7 or newer 解决方案_解决方法_03

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 即可。