eclipse报错Dynamic Web Module 3.0 requires Java 1.6

今天接手了一个公司之前的项目,要求修改迭代,内心是崩溃的,尤其是导入项目飘一大片红的时候,一番操作之后,还是有 4 个 war 项目飘着红,

打开项目,表面上代码并没有问题,也不影响程序的运行,这个时候打开我们的 Markes 就会发现报错原因

首先正面这个错误信息,当创建有动态 web 模块 3.0 支持的项目时,需要用到 Java 版本不低于 1.6。因为 Eclipse 默认的版本是 1.5。项目导入之后的 jdk 版本也变成了 1.5, 我这边项目是 1.7 版本的 jdk, 下面举例都是以 1.7 为主

解决办法:

1 右键项目   Build Path    add Library 添加 JRE 版本为 1.7

 

2 右键项目 Properties     JavaCompiler ,查看 Compiler compliance level 的版本是不是 1.7,如果不是修改为 1.7

 

3 右键项目 Properties   Project Facets 查看 java 是不是 1.7,不是则更改

 

 4 打开 pom.xml 文件, 添加 maven-compiler-pluginch 插件

 

1
2
3
4
5
6
7
8
9
10
<plugin>                                                                                                                                                                                                             
    <groupId>org.apache.maven.plugins</groupId>                                                                                              
    <artifactId>maven-compiler-plugin</artifactId>                                                                                           
    <version>3.1</version>                                                                                                                   
    <configuration>                                                                                                                          
        <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->                   
        <source>1.7</source> <!-- 源代码使用的JDK版本 -->                                                                                            
        <target>1.7</target> <!-- 需要生成的目标class文件的编译版本 -->                                                                                                                                                                                       
    </configuration>                                                                                                                         
</plugin>             

  

 这个时候,Maven update 一下,错误就成功消失了