针对 Web 的虚假 Eclipse 警告.xml:“未检测到文档的语法约束(DTD 或 XML 模式)。

2022-09-01 07:17:35

我的文件的顶部如下所示:web.xml

<?xml version="1.0" encoding="UTF-8"?>
<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_5.xsd"
    version="2.5">

但是我仍然收到来自Eclipse(Ganymede)的警告,即没有检测到XML模式,并且没有警告模式违规。我的项目中的其他XML文件(例如Spring Framework配置文件)没有警告,并且确实给出了有关架构冲突的正确警告。

如何使架构检查正常工作并希望警告消失?服务器运行正常。这似乎只是一个 IDE 问题。


答案 1

我也讨厌这种警告。特别是因为它出现在您尚未编写的XML文件中,但出于任何原因出现在您的项目中(如果您使用MAVEN,那就太糟糕了)。

使用 Eclipse 3.5+,您可以轻松删除此验证规则。转到首选项 - >XML - >XML文件 - >验证并选择“忽略”。

您可能还必须执行 Project -> Clean,以使验证警告消失。

alt text


答案 2

也许可以试试:

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd

而不是:

http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd

此外,缺少:<!DOCTYPE ...>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 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/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  version="2.5">
  <!-- ... -->
</web-app>

推荐