Java–cvc-complex-type.4:Attribut ‘version’ must appear on element ‘web-app’

问题解析: 
在web.xml中的以下代码中

<web-app 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" id="WebApp_ID">

因为web-app标签没有指定version,所以这时候就出现了一个红色的“x”。 
但是该错误并没有导致程序的正常运行。 
解决方法两种: 
方法一、指定一下version。

<web-app version="3.0" ......>

(PS:没有去详细了解过指定version之后的一些差异,或者指定一个version之后会不会出现其他项目部署上的一些问题。反正我这边暂时是正常了,如果后续有错误的话,这边我再来记录下。)

方法二、暂时关闭Eclipse对于XML的验证。 
XML编写是否符合规范,通过XML Schema或者DTD进行验证,但是有些时候XML的一些错误并不会导致整个项目的运行,这个时候,虽然项目中会显示“x”,我们可以先关闭Eclipse对于XML的验证。不过这当然不是最好的解决问题的办法。 
操作方法:(借鉴过来,直接复制了) 
1.菜单【Windows】 -【Preperences】-【Validation】
 
2.在右边找到“XML Validator”,把取消【Bulid】复选框的选中状态,保持【Manual】 的选中状态。 
(PS:因为我们最后还需要确保XML的正确性,这个可以通过选择XML文件,在右键菜单中选择【Validate】手工来验证,如果XML有错,会 弹出窗口提示。但如果把【Manual】复选框也取消的话,再手工验证,即使XML真有错,也不会正确提示。)

操作截图如下: 
操作截图

原文地址:https://www.cnblogs.com/shanheyongmu/p/6231786.html