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

在Java开发中,项目运行不起来。将WEB-INF下的其他多余的东西删除掉。重新运行,项目运行起来了。但是在web.xml文件上有一个红色的“x”.点击进入查看web.xml文件,具体报错的代码如下:


 错误效果图如下:(忘记截图了,之前手机拍摄的)

图片截图

问题解析:
在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真有错,也不会正确提示。)

操作截图如下:
操作截图

借鉴文章

GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45 7 个月前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐