eclipse 创建Java web项目 Cannot change version of project facet Dynamic web module to xxx

问题描述:

  用Eclipse创建Java web项目时选择的Artifact Id为maven-artchetype-webapp,由于这个archetype比较老,用的servlet还是2.3的。

  而现在一般至少都是2.5,在Project Facets里面修改Dynamic web module为2.5+ 的时候就会出现Cannot change version of project facet Dynamic web module to xxx,如图: 

eclipse 创建Java web项目 Cannot change version of project facet Dynamic web module to xxx

 

解决方法

1、更改Java web项目中 web.xml 文件中 servlet 版本号

  1)servlet2.3版本

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

</web-app>

  2)servlet2.5+版本(将其中红色字更改为对应的版本号)

<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">

</web-app>

 

2、修改项目的设置(在Navigator下打开项目.settings目录下的打开org.eclipse.wst.common.project.facet.core.xml)

<installed facet="jst.web" version="2.3"/> 

 

如若创建的是maven项目,那么需要再配置maven中jdk版本等信息   http://www.cnblogs.com/zxguan/p/7847105.html