Cannot change version of project facet Dynamic Web Module to 3.1.

产生此问题的根本原因是web的版本也projcect facet配置的版本不一致导致!!

1,修改project face的版本

这里,我们选择2.5,用记事本打开.settingsorg.eclipse.wst.common.project.facet.core.xml文件,找到“installed facet="jst.web"”,我们将version的值改成2.5

2,修改web.xml的版本

同样,为了保证版本的一致,这里也必须是2.5,我们用记事本打开WEB-INFweb.xml,将"web-app"结点的http://java.sun.com/xml/ns/javaee/web-app_#_#.xsd改成http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd,并且version的值要改成"2.5"

3,更新Maven

右键项目,然后执行右键菜单的Maven -> Update Project ...命令,等到Eclipse右下边的进度栏消失时,那个Maven的错误提示也随之消失。

注意:这里说的2.5并不是随意定的值,如果你是用tomcat7或更低的版本,那么就只能用3.0以下的版本,否则你是无法添加项目到Tomcat中的,就算瞎捣腾添加进去了,也是无法正常启动Tomcat的。另外,填写的这个版本http://java.sun.com/xml/ns/javaee/web-app_#_#.xsd文件必须要能真实的找到,否则也是不行的,例如你写成http://java.sun.com/xml/ns/javaee/web-app_2_3.xsd,实际上是找不到的了。

原文地址:https://www.cnblogs.com/Kingram/p/9597684.html