今天接手了一个公司之前的项目,要求修改迭代,内心是崩溃的,尤其是导入项目飘一大片红的时候,一番操作之后,还是有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插件
<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 一下,错误就成功消失了