在Eclipse中禁用XML验证


123

每次保存文件时,Eclipse都会验证XML文件,并且需要一段时间来验证它们。该项目是使用gwt-maven-plugin创建的。

XML文件不在Eclipse中的任何Source文件夹构建路径下,它们由SmartGWT在src / main / webapp / [GwtModule]> / sc下自动生成。

同样,所有这些XML文件都标记有错误“序言中不允许包含内容”,并且每次我运行项目时,我都必须确认我要运行带有错误的项目,尽管没有错误(并且一切正常)。

我尝试在Eclipse-> Window-> Preferences-> Validation下挂起所有Validator,但无济于事。

知道如何阻止Eclipse每次惹恼我吗?


Preferences..xml..xml文件..validation
Ed Staub

@EdStaub更改任何内容都没有区别
Satish

Answers:


168

您有两种选择:

  1. 配置工作区设置(禁用当前工作区的验证):转到窗口>首选项>验证,然后取消选中手册,并针对以下项目进行构建:XML模式验证器,XML验证器

  2. 检查启用项目特定的设置(禁用该项目的验证):右键单击项目,选择“属性”>“验证”,然后取消选中手册,并为以下项目构建:XML Schema Validator,XML Validator

右键单击项目,然后选择“ 验证”以使错误消失。


3
菜单结构似乎在Eclipse的较新版本中已更改-至少我的Eclipse Mars安装中没有“ XML Schema Validator”条目。相反,项目的上下文菜单在“验证”下列出了每个验证,如kevinarpe的答案所述。
Stephan Rauh 2015年

2
是,以获取最新的Eclipse版本:单击窗口>首选项,然后在左窗格中选择验证。“首选项”窗口的“验证”页面列出了项目中可用的验证器及其设置。要禁用单个验证器,请清除要禁用的每个验证器旁边的复选框。每个验证器都有一个复选框,以指定是启用手动验证还是构建。
汤姆(Tom)

63

其他答案可能对您有用,但它们并未涵盖我的情况。我希望一些 XML可以通过验证,而另一些则不需要。此图显示了如何排除某些文件夹(或文件)以进行XML验证。

首先右键单击Eclipse项目的根目录。选择最后一项:属性...

在此处输入图片说明

(如果您的浏览器将图像缩小得很小,请右键单击并在新窗口或标签中打开。)

  • 如果单击“浏览文件... *”或“浏览器文件夹... *”按钮,Eclipse似乎非常敏感。此对话框需要一些工作!
  • 这是使用Eclipse 4.3(Kepler)完成的。

46

窗口>首选项>验证>取消选中XML验证程序手册和构建 在此处输入图片说明


8

确保所有文件的编码正确,如果文件编码错误或XML标头编码错误,有时可能会发生这种情况。

因此,如果我有以下NewFile.xml:

<?xml version="1.0" encoding="UTF-16"?>
<bar foo="foiré" />

蚀编码为UTF-8:

Eclipse编码资源

您的文件编码,Eclipse中定义的编码(通过Properties-> Resource)和XML文档中声明的编码都需要一致。

验证程序正在尝试读取文件,期望<?xml ...,但是由于编码与期望的不同,因此找不到它。因此出现错误:序言中不允许内容。序言是<?xml声明之前的位。

编辑:对不起,没有意识到.xml文件已生成并且实际上包含javascript。

当您暂停验证器时,生成的错误消息不会消失。要使它们消失,您必须手动删除它们。

  1. 暂停验证器
  2. 单击“不允许在序言中显示内容”消息,右键单击并删除。您可以选择多个,也可以全部选择。
  3. 做一个项目->清洁。消息不应该回来。

我认为,因为您已暂停验证器,所以Eclipse并未意识到它必须删除来自验证器的旧错误消息。


SmartGWT生成的文件中似乎包含JavaScript而不包含XML,尽管它们奇怪地具有.ds.xml扩展名
Satish

当我删除生成的目录时,错误消失了,但是当我清理项目时,错误又随目录一起返回。验证器一直处于暂停状态。
Satish

1

在JBoss Developer 4.0及更高版本(基于Eclipse)中,这有点容易。只需右键单击包含基于XML的文件的文件或文件夹,选择“排除验证”,然后单击“是”进行确认。然后再次右键单击相同的文件/文件夹,然后单击“验证”,这将删除错误并确认。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.