我正在使用Eclipse EE Juno,而我当前的Web应用程序正在使用Dynamic web modules 2.4
。我试图将版本提升到3.0,但出于某种原因,我无法做到。当我尝试更改项目方面的版本时,我得到Cannot change version of project facet Dynamic Web Module to 3.0
。我的web.xml文件中是否有可能确定这个?如果不是单独从Eclipse项目构面设置中更改动态Web模块版本,该如何更改?
答案 0 :(得分:39)
web.xml
中的Servlet 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/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
web.xml
中的Servlet 3.0:
<web-app version="3.0"
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_3_0.xsd">
这是唯一的区别。其余的是您的IDE配置。为了使用Servlet 3.0,您必须在CLASSPATH上拥有3.0 JAR,以便可以使用新的注释和其他类。但是不要在WAR中包含servlet JAR,实现应该来自servlet容器。