Eclipse使用JDK11创建动态Web项目时web-app属性XML报错如何解决
问题解决方法
根因说明
你遇到的报错是由于Eclipse项目的Dynamic Web Module facet版本和web.xml中配置的version、schema约束不匹配导致的:当前项目facet强制限定了web-app版本只能为2.4,所以你在web.xml中配置2.5、3.0版本都会触发枚举校验失败。
解决步骤
- 第一步:调整项目Facet配置
- 右键点击Eclipse中的对应项目,选择
Properties - 找到左侧菜单的
Project Facets选项,在右侧列表中找到Dynamic Web Module - 选择你需要的版本(JDK11建议选择3.0及以上版本,注意和你部署用的Web服务器版本匹配:Tomcat 7+支持Servlet 3.0,Tomcat 9支持Servlet 4.0)
- 点击
Apply and Close保存配置
- 右键点击Eclipse中的对应项目,选择
- 第二步:更新
web.xml头配置和facet版本一致
如果你选择的是3.0版本的Dynamic Web Module,直接使用以下完整配置即可:
<?xml version="1.0" encoding="UTF-8"?> <web-app 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" version="3.0"> <display-name>Lasb5Exercise</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
- 第三步:清理项目缓存
- 点击顶部菜单栏
Project→Clean,选择对应项目清理 - 如果是Maven项目,右键项目→
Maven→Update Project更新项目配置
- 点击顶部菜单栏
完成以上步骤后报错就会消失。
内容的提问来源于stack exchange,提问作者NURSYAFEENAZ HOW BINTI MOHD FI
相关产品推荐
相关产品推荐

