Error“Cannot change version of project facet Dynamic web module to 2.5”导致Tomcat无法启动解决办法

Eclipse创建Maven结构的web项目时catalog比较老,servlet停留在2.3版本,而一般现在至少都是2.5,因此需要修改servlet版本。但是在Project Facets(项目右键选择“properties”,在出现的对话框的左侧选项栏中选择“Maven-Project Facets”)里面修改Dynamic web module为2.5的时候下面的信息框也会出现Cannot change version of project facetDynamic web module to 2.5,如图:


右边可以看到改到2.5需要的条件以及有冲突的facets,解决这个问题的步骤如下:

一、把Servlet改成2.5,打开项目的web.xml,如下:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
	xmlns:web="http://java.sun.com/xml/ns/javaee/<span style="background-color: rgb(255, 255, 51);">web-app_2_5.xsd</span>"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/<span style="background-color: rgb(255, 255, 51);">web-app_2_5.xsd"</span>
	id="WebApp_ID"<span style="background-color: rgb(255, 255, 51);"> version="2.5"</span>>
<web-app>

xmlns:web属性的后缀xsd前的版本号和version属性如果不是2.5版本,改为2.5版本,

二、修改项目的设置,需要修改项目下.settings文件夹下3个文件:

1.     org.eclipse.jdt.core.prefs文件:将文件中所有的版本号1.5修改为当前jdk版本,如本机安装的jdk版本为jdk1.7.0_79就改为1.7,如下:

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
<span style="background-color: rgb(255, 255, 51);">org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7</span>
<span style="background-color: rgb(255, 255, 51);">org.eclipse.jdt.core.compiler.compliance=1.7</span>
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
<span style="background-color: rgb(255, 255, 102);">org.eclipse.jdt.core.compiler.source=1.7</span>

2.     org.eclipse.wst.common.component文件:将文件中project-version="1.5.0"改成当前jdk版本,如本机安装的jdk版本为jdk1.7.0_79就改为project-version="1.7.0",

3.     org.eclipse.wst.common.project.facet.core.xml文件:将<installed facet="java" version="1.5"/>改成<installed facet="java" version="1.7"/>(jdk版本号),把  <installed facet="jst.web"version="2.3"/>改成  <installedfacet="jst.web" version="2.5"/>

三、再次进入Project Facets查看,此时Dynamic web module已经被改成了2.5,如下:



同时将java版本修改为当前jdk版本,如本机安装的jdk版本为jdk1.7.0_79就改为1.7。


四、项目右键,“Maven”下“Update Project”,将当前Maven项目更新。(该步骤很关键!!!)


参考资料:http://blog.csdn.net/steveguoshao/article/details/38414145




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值