今天用Eclipse部署一个Web项目Test,报如下错误:The server does not support version 2.5 of the J2EE Web module specification
原来创建Test时用的是Tomcat 6.0,而现在用的是Tomcat 5.0。jdk都是用的1.5
Tomcat 5.0最多支持Servlet 2.4
解决如下:
在项目根目录下有一个.settings的文件夹,该文件夹下有一个org.eclipse.wst.common.project.facet.core.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="jst.web"/>
<fixed facet="wst.jsdt.web"/>
<fixed facet="java"/>
<installed facet="java" version="1.5"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
把<installed facet="jst.web" version="2.5"/>改为 <installed facet="jst.web" version="2.4"/>
此时项目可以部署了,但是页面上的JSTL表达式却都不起作用了,查了点资料,原来还需要把web.xml 2.5的声明改成2.4的声明。
2.5的为:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
2.4的为:
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
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_4.xsd">