Deaktivieren Sie die XML-Validierung in Eclipse


123

Meine Eclipse überprüft XML-Dateien jedes Mal, wenn ich eine Datei speichere, und es dauert eine Weile, bis sie überprüft werden. Das Projekt wird mit dem gwt-maven-plugin erstellt.

Die XML-Dateien befinden sich in Eclipse nicht unter einem Erstellungspfad für Quellordner. Sie werden von SmartGWT unter src / main / webapp / [GwtModule]> / sc automatisch generiert

Außerdem sind alle diese XML-Dateien mit dem Fehler "Inhalt ist in Prolog nicht zulässig" gekennzeichnet. Jedes Mal, wenn ich das Projekt ausführe, muss ich bestätigen, dass ich das Projekt mit Fehlern ausführen möchte, obwohl es keine gibt (und alles funktioniert einwandfrei).

Ich habe versucht, alle Validatoren unter Eclipse -> Fenster -> Einstellungen -> Validierung anzuhalten, aber ohne Erfolg.

Irgendeine Idee, wie ich verhindern kann, dass Eclipse mich jedes Mal nervt?


Einstellungen..xml..xml Dateien..Validierung
Ed Staub

@ EdStaub Ändern eines dieser macht keinen Unterschied
Satish

Antworten:


168

Sie haben zwei Möglichkeiten:

  1. Konfigurieren Sie die Arbeitsbereichseinstellungen (deaktivieren Sie die Validierung für den aktuellen Arbeitsbereich): Gehen Sie zu Fenster> Einstellungen> Validierung, deaktivieren Sie das Handbuch und erstellen Sie Folgendes für: XML Schema Validator, XML Validator

  2. Aktivieren Sie die Option Projektspezifische Einstellungen aktivieren (deaktivieren Sie die Validierung für dieses Projekt): Klicken Sie mit der rechten Maustaste auf das Projekt, wählen Sie Eigenschaften> Validierung, deaktivieren Sie das Handbuch und erstellen Sie Folgendes für: XML Schema Validator, XML Validator

Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Validieren , damit die Fehler verschwinden.


3
Die Menüstruktur scheint sich in neueren Versionen von Eclipse geändert zu haben - zumindest hat meine Eclipse Mars-Installation keinen Eintrag "XML Schema Validator". Stattdessen listet das Kontextmenü des Projekts jede Validierung unter "Validierung" auf, wie in der Antwort von Kevinarpe beschrieben.
Stephan Rauh

2
Ja für neuere Eclipse-Versionen: Klicken Sie auf Fenster> Einstellungen und wählen Sie im linken Bereich Validierung aus. Auf der Seite Validierung des Fensters Einstellungen werden die in Ihrem Projekt verfügbaren Validatoren und ihre Einstellungen aufgelistet. Um einzelne Validatoren zu deaktivieren, deaktivieren Sie die Kontrollkästchen neben jedem Validator, den Sie deaktivieren möchten. Jeder Validator verfügt über ein Kontrollkästchen, mit dem angegeben wird, ob er für die manuelle Validierung oder für einen Build aktiviert ist.
Tom

63

Die anderen Antworten mögen für Sie funktionieren, aber sie haben meinen Fall nicht abgedeckt. Ich wollte, dass einige XML-Dateien validiert werden, andere nicht. Dieses Bild zeigt, wie bestimmte Ordner (oder Dateien) für die XML-Validierung ausgeschlossen werden.

Klicken Sie zunächst mit der rechten Maustaste auf das Stammverzeichnis Ihres Eclipse-Projekts. Wählen Sie das letzte Element aus: Eigenschaften ...

Geben Sie hier die Bildbeschreibung ein

(Wenn Ihr Browser dieses Bild sehr klein skaliert, klicken Sie mit der rechten Maustaste und öffnen Sie es in einem neuen Fenster oder einer neuen Registerkarte.)

  • Eclipse scheint sehr empfindlich zu sein, wenn Sie auf die Schaltfläche ** Datei durchsuchen ... * oder ** Browserordner ... * klicken. Dieser Dialog braucht etwas Arbeit!
  • Dies wurde mit Eclipse 4.3 (Kepler) durchgeführt.

46

Fenster> Einstellungen> Validierung> Deaktivieren Sie XML Validator Manual und Build Geben Sie hier die Bildbeschreibung ein


8

Stellen Sie sicher, dass Ihre Codierung für alle Ihre Dateien korrekt ist. Dies kann manchmal vorkommen, wenn die Codierung für Ihre Datei oder die falsche Codierung in Ihrem XML-Header falsch ist.

Also, wenn ich die folgende NewFile.xml habe:

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

Und die Eclipse-Codierung ist UTF-8:

Eclipse-Codierungsressource

Die Codierung Ihrer Datei, die in Eclipse definierte Codierung (über Eigenschaften-> Ressource) und die deklarierte Codierung im XML-Dokument müssen übereinstimmen.

Der Validator versucht, die Datei zu lesen, erwartet <? Xml ... aber da sich die Codierung von der erwarteten unterscheidet, findet er sie nicht. Daher der Fehler: Inhalt ist im Prolog nicht erlaubt. Der Prolog ist das Bit vor der <? Xml-Deklaration.

EDIT: Sorry, habe nicht bemerkt, dass die .xml-Dateien generiert wurden und tatsächlich Javascript enthalten.

Wenn Sie die Validatoren aussetzen, werden die von Ihnen generierten Fehlermeldungen nicht ausgeblendet. Damit sie verschwinden, müssen Sie sie manuell löschen.

  1. Setzen Sie die Validatoren aus
  2. Klicken Sie auf die Meldung "Inhalt ist im Prolog nicht zulässig", klicken Sie mit der rechten Maustaste und löschen Sie sie. Sie können mehrere oder alle auswählen.
  3. Mach ein Projekt-> Reinigen. Die Nachrichten sollten nicht zurückkommen.

Ich denke, da Sie die Validatoren ausgesetzt haben, merkt Eclipse nicht, dass die alten Fehlermeldungen, die von den Validatoren stammen, gelöscht werden müssen.


Die von SmartGWT generierten Dateien scheinen JavaScript und nicht XML zu enthalten, obwohl sie seltsamerweise die Erweiterung .ds.xml haben
Satish

Die Fehler verschwanden, als ich das generierte Verzeichnis löschte, aber als ich das Projekt bereinigte, kamen die Fehler zusammen mit dem Verzeichnis zurück. Die Validatoren sind die ganze Zeit gesperrt.
Satish

1

In JBoss Developer 4.0 und höher (Eclipse-basiert) ist dies etwas einfacher. Klicken Sie einfach mit der rechten Maustaste auf Ihre Datei oder Ihren Ordner, der XML-basierte Dateien enthält, wählen Sie "Validierung ausschließen" und klicken Sie zur Bestätigung auf "Ja". Klicken Sie dann erneut mit der rechten Maustaste auf dieselben Dateien / Ordner und klicken Sie auf "Validieren", um die Fehler mit einer Bestätigung zu entfernen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.