这个问题是由于maven默认的jdk和默认的Dynamic Web Module版本问题引起的。
这个问题断断续续解决了复发了,今天找打了一个方法
第一,首先要在maven中配置这个插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<!-- 指定Dynamic Web Module to 3.0 ,web.xml中的版本也可能改-->
<version>3.0</version>
<!-- 指定编译版本 -->
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
这样建好的项目 project facet中的Dynamic Web Module 是3.0的
还有buildpath版本也是1.8的,这里还改成自己的本地jre
web.xml中的
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
可以改一下,改成3.0的,(从其他地方copy)
如果是已经有的项目报错
maven Cannot change version of project facet Dynamic Web Module to 3.0?
在pom中加入第一步的配置,然后update project
检查project facts
修改web.xml (如果是3.0就不用改)
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">