wake-up-neo.com

NoClassDefFoundError: org/w3c/dom/ElementTraversal

Ich habe Jetty 7 installiert und es korrekt für IdP Shibboleth konfiguriert. Diesem Handbuch folgend: https://wiki.shibboleth.net/confluence/display/SHIB2/IdPJetty7Prepare

Aber wenn ich versuche, Jetty zu starten, bekomme ich diesen Fehler:

NoClassDefFoundError: org/w3c/dom/ElementTraversal

Um dieses Problem zu beheben, muss ich die ElementTraversal - Abhängigkeit installieren und in meinen Klassenpfad aufnehmen.
Aber wie kann ich das erreichen? Muss ich diese Klasse [ElementTraversal.class] oder eine .jar -Datei herunterladen? und wo kann ich es platzieren? im JETTY_HOME? Muss ich die CLASSPATH exportieren?

Kann mir jemand helfen?
Ich danke dir sehr!

22

Es sieht so aus, als wäre ElementTraversal Teil von xml-apis-2.10.0.jar, der in Ihrer Shibboleth-Installation enthalten sein sollte.

Wenn Sie also diese Anweisungen befolgen, sollten Sie auch diesen Schritt befolgt haben:

Bestätigen Sie Xerces und Xalan, indem Sie das Verzeichnis JETTY_HOME/lib/endorsed/erstellen, und kopieren Sie die .jar-Dateien aus dem Verzeichnis idP source endorsed/in das neu erstellte Verzeichnis.

Solange Sie alle JAR-Dateien ordnungsgemäß kopiert haben, sollte dies in Ordnung sein. Meine Vermutung ist, dass Sie diesen Schritt verpasst haben - oder vielleicht only die Jar-Dateien mit Xalan oder Xerces im Namen kopiert und die anderen beiden übersehen haben.

19
Jon Skeet

In meinem Fall wurde das Problem behoben, indem die Xml-apis-Version von 1.3.04 auf 1.4.01 geändert wurde. 

Übrigens gibt es die Version 2.10.0 in Maven Central nicht (ich bin gespannt, wo Jon Skeet es gefunden hat).

17
yegor256

Fügen Sie dies in Ihre Datei ein, um die Abhängigkeit aufzulösen:

 <dependency>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
      <version>1.4.01</version>
 </dependency>
0
Ran Adler