2009-12-30 6 views
15
Description Resource Path Location Type 
No grammar constraints (DTD or XML schema) detected for the document. TEST-net.kindleit.gae.example.server.MessageRepositoryTest.xml /projecttest-gae-example/target/surefire-reports line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. appengine-web.xml /projecttest-gae-example/src/main/webapp/WEB-INF line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. appengine-web.xml /projecttest-gae-example/target/projecttest-gae-example-1.0-SNAPSHOT/WEB-INF line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. datastore-indexes-auto.xml /projecttest-gae-example/WEB-INF/appengine-generated line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. jdoconfig.xml /projecttest-gae-example/src/main/resources/META-INF line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. jdoconfig.xml /projecttest-gae-example/target/projecttest-gae-example-1.0-SNAPSHOT/WEB-INF/classes/META-INF line 1 XML Problem 
No grammar constraints (DTD or XML schema) detected for the document. webapp-cache.xml /projecttest-gae-example/target/war/work line 1 XML Problem 

wie das obige Problem auf Eclipse zu beheben? Mein Projekt basiert auf Maven. Ist es, weil ich einige dtd-Dateien vermisse? wie man es einbezieht?Eclipse auf Maven-Projekt Warnung 'DTD oder XML-Schema'

Beispiel jdoconfig.xml

<?xml version="1.0" encoding="utf-8"?> 
<jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig"> 

    <persistence-manager-factory name="transactions-optional"> 
     <property name="javax.jdo.PersistenceManagerFactoryClass" 
      value="org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"/> 
     <property name="javax.jdo.option.ConnectionURL" value="appengine"/> 
     <property name="javax.jdo.option.NontransactionalRead" value="true"/> 
     <property name="javax.jdo.option.NontransactionalWrite" value="true"/> 
     <property name="javax.jdo.option.RetainValues" value="true"/> 
     <property name="datanucleus.appengine.autoCreateDatastoreTxns" value="true"/> 
    </persistence-manager-factory> 
</jdoconfig> 
+0

Siehe auch: http://stackoverflow.com/questions/11757507/how-can-i-stop-eclipse-warning-about-target-folders-contents –

Antwort

25

Erste Antwort (Dezember 2009)

Wenn Sie WTP haben (mit dem XML-Teil enthalten):

Einstellungen-> Validierung-> XML Validator-> unclick manuell und/oder Build sollte verhindern, dass die Finsternis die DTD

überprüft

Wählen Sie auf der Seite Voreinstellung XML> XML-Dateien. Unter dem Abschnitt "Validieren von Dateien" können Sie den Schweregrad im Dropdown von Warnung zu Ignorieren ändern. Beachten Sie, dass dies für alle XML-Dateien gilt, nicht nur build.xml. Sie können jedoch nur build.xml zum Ausschlussfilter hinzufügen, wenn Sie diese Warnung für andere XML-Dateien weiterhin verwenden möchten.

alt text


Update (Februar 2012)

in den Kommentaren gemacht Jemand (jetzt gelöscht), um den wichtigen Punkt, dass Sie sollten niemals Warnungen ignorieren.
Aber reparieren Sie sie!

Wenn fragen, wie er auf (Hervorhebung von mir) geht:

ich Eclipse-fix würde, weil dies eindeutig ein Zeichen für schlechtes Design.
Zum Beispiel könnte ich einen Bug auf Eclipse Foundation Bug Tracker melden.
Eclipse muss "normale" Standardeinstellungen für Spring/Java EE-Projektdateien hinzufügen, die "bekannt" sind, XML-Grammatiken nicht zu benötigen.
Entweder stimmt etwas mit der Datei nicht oder Eclipse ist irgendwo kaputt.
Drei Probleme, die ich hatte:

  1. mit Log4j.xml Datei, sagen sie nicht die XML-Definition für log4j.dtd, obwohl die Datei im Systempfad gibt, wo der Validator
  2. Ant build.xml Datei sieht sagt, dass ich keine Grammatik Zwänge
  3. aus irgendeinem Grund kann ich das Projekt nicht reinigen.

Es gibt tatsächlich Bugs diskutiert Strategien/Bugs rund um diese Warnung:

  • bug 218326: „“ Keine Grammatik Einschränkungen „Warnungen für Systemdateien in der Problemansicht Ausschluss Route“ die nehmen hat ‚‘
  • bug 331749 beschwert sich über „Keine Grammatik Einschränkungen“, obwohl Verzeichnis

Offensichtlich ist ausgeschlossen, In Bezug auf die Verwaltung dieser Warnungen sind weitere Korrekturen erforderlich.

+0

Traurig, dass Bug 331749 hat nur einen einzigen Kommentar und keine Aktivität seit 3,5 Jahren. – knittl

+0

@knittl Ich habe gerade festgestellt, dass der alte Fehler von http://stackoverflow.com/users/34088/aaron-digulla geschrieben wurde – VonC

0

Es ist nur eine Warnung. In den Voreinstellungen: XML/XML-Dateien/Validierung können Sie es deaktivieren.

4

Wie das obige Problem auf Eclipse zu beheben?

Es ist mehr eine Warnung als ein echtes Problem. Sie können Eclipse anweisen, dies beim Überprüfen von Dateien zu ignorieren (Windows> Einstellungen> XML> XML-Dateien> Editor> Validierung).

Ist es, weil ich einige dtd-Dateien vermisse?

Nein, weil das XML-Dokument keine DTD oder XSD deklariert.

Wie wird es aufgenommen?

Sie könnten die Deklaration natürlich manuell hinzufügen (wenn Sie wissen, welche DTD oder Schema hinzugefügt werden soll). Oder Sie könnten Eclipse anweisen, die Tatsache zu ignorieren, dass keine Grammatik wie zuvor erwähnt angegeben wurde. Oder du könntest einfach damit leben.

3

Wie andere angedeutet haben, sollte jede Warnung separat angesprochen werden.

Für Ihre spezifische Warnung -

No grammar constraints (DTD or XML schema) detected for the document. TEST-net.kindleit.gae.example.server.MessageRepositoryTest.xml /projecttest-gae-example/target/surefire-reports 

Ich habe einen Fehler gegen todsicheren als SUREFIRE-964 angemeldet, da ich das gleiche Verhalten zu sehen bin.

Um nur diese Warnungen auszuschließen, können Sie zu Voreinstellungen> Validierung gehen. Suchen Sie den XML-Validator und klicken Sie auf Einstellungen. Wählen Sie "Gruppe ausschließen", klicken Sie auf "Regel hinzufügen", wählen Sie "Ordner- oder Dateiname" und klicken Sie auf "Browser-Ordner", um Ziel-/Sicherheitsberichte auszuwählen. An diesem Punkt sollte Eclipse Sie auffordern, dass Sie neu erstellen und/oder validieren müssen. Oder Sie können mit der rechten Maustaste auf Ihr Projekt klicken und Validieren auswählen.

0

Ich denke nicht, dass es eine gute Idee ist, es auszuschalten. Sie könnten Probleme beim Parsen usw. bekommen. Es ist besser, die DTD in den XML-Katalog aufzunehmen.

Gehen Sie zu Windows -> Einstellungen -> XML -> XML Catalog Fügen Sie die fehlende DTD als benutzerdefinierte Einträge hinzu und Eclipse wird es ohne Probleme validieren. Möglicherweise müssen Sie anschließend die Überprüfung der Datei starten.

Sie können diese Lösung auch bei http://juliendkim.blogspot.de/2012/09/how-to-fix-log4jdtd-xml-problem-in.html finden, die das Problem mit einem log4j.dtd beschreibt.