Cannot change version of project facet Dynamic Web Module to 2.5 错误

问题:新建maven webapp项目后,出现Cannot change version of project facet Dynamic web module to 3.0或者2.5

分析:使用Maven新建Web项目时使用的是Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为3.0的时候就会出现Cannot change version of project facet Dynamic web module to 3.0,如图:

Cannot change version of project facet Dynamic Web Module to 2.5 错误

解决方法

1.把Servlet改成3.0,打开项目的web.xml,修改web-app中的version为3.0:即修改为_3_0.xsd

 
  1. <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"

  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  3.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 

  4.     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

  5. version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" >

 

2.修改项目的设置settings,找到项目路径,然后然后找到.settings目录下的org.eclipse.wst.common.project.facet.core.xml

Cannot change version of project facet Dynamic Web Module to 2.5 错误

Tomcat我用的是7,这里改成version=3.0,再打开那个页面发现已经改好了:

Cannot change version of project facet Dynamic Web Module to 2.5 错误

补充:如果是maven项目的话的话,在项目上右键Maven-->update project

Cannot change version of project facet Dynamic Web Module to 2.5 错误