web-dev-qa-db-fra.com

NoClassDefFoundError: org/w3c/dom/Traversée d'élément

J'ai installé Jetty 7 et l'ai correctement configuré pour IdP Shibboleth en suivant ce guide: https://wiki.shibboleth.net/confluence/display/SHIB2/IdPJetty7Prepare

Mais quand j'essaye de démarrer Jetty, j'obtiens cette erreur:

NoClassDefFoundError: org/w3c/dom/ElementTraversal

Pour résoudre ce problème, je dois installer la dépendance ElementTraversal et l'inclure dans mon chemin classpath
Mais comment puis-je accomplir cela? Dois-je télécharger ce fichier Class [ElementTraversal.class] ou un fichier .jar? et où je peux le placer? dans le JETTY_HOME? Dois-je exporter la CLASSPATH?

Est-ce que quelqu'un peut m'aider?
Merci beaucoup!

22
Mustapha Aoussar

Il semble que ElementTraversal fait partie de xml-apis-2.10.0.jar qui aurait dû être fourni avec votre installation de Shibboleth.

Donc, si vous suiviez ces instructions vous devriez également avoir suivi cette étape:

Endossez Xerces et Xalan en créant le répertoire JETTY_HOME/lib/endossé/et copiez les fichiers .jar inclus dans le répertoire de la source IdP endossé/dans le nouveau répertoire créé.

Tant que vous avez copié tous les fichiers jar de manière appropriée, tout devrait bien se passer. Je suppose que vous avez manqué cette étape - ou peut-être que seulement copiez les fichiers jar avec Xalan ou Xerces dans le nom, et les deux autres.

19
Jon Skeet

Dans mon cas, le problème a été résolu en changeant la version de xml-apis de 1.3.04 à 1.4.01. 

BTW, la version 2.10.0 n’existe pas dans Maven Central (je suis curieux de savoir où Jon Skeet l’a trouvée).

17
yegor256

Ajoutez ceci dans votre fichier, pour résoudre la dépendance:

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