在eclipse下配置maven的时候,遇到了这个问题。网上有很多关于这个问题的解决方法,都试过了,很多都不管用。
一般都是建议直接修改项目下.setting文件夹下的org.eclipse.wst.common.project.facet.core.xml中的
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<span style="color:#FF0000;"><installed facet="jst.web" version="2.5"/> </span>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
有的再加上一项,同时修改web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app <span style="color:#FF0000;">version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd</span>">
<display-name>Archetype Created Web Application</display-name>
</web-app>
然后就说问题已经解决了,但我都试过后发现还是解决不了问题,仔细查找资料后,才明白,这个版本号其实是跟使用的Servlet版本号对应的。
而Servlet的版本号是在pom.xml中定义的,如下:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
所以在 满足上述两项的同时还要保证pom.xml中Servlet版本也是2.5。 当然也要注意所使用的jdk版本要支持响应的Servlet版本。
此方法同样适合Servlet版本变为3.1的情况。