问题描述:
用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,如图:
解决方法
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