NoClassDefFoundError: org/w3c/dom/ElementTraversal

Mustapha Aoussar picture Mustapha Aoussar · Jul 7, 2013 · Viewed 74.4k times · Source

I installed Jetty 7 and configured it correcty for IdP Shibboleth following this guide: https://wiki.shibboleth.net/confluence/display/SHIB2/IdPJetty7Prepare

But when i try to start Jetty I get this error:

NoClassDefFoundError: org/w3c/dom/ElementTraversal

To resolve this issue i need to install the ElementTraversal dependency and include it on my classpath.
But how can i accomplish this? Do i need to download this Class [ElementTraversal.class] or a .jar file? and where i can place it? in the JETTY_HOME? Do I need to export the CLASSPATH?

Can someone help me?
Thank you so much!

Answer

Jon Skeet picture Jon Skeet · Jul 7, 2013

It looks like ElementTraversal is part of xml-apis-2.10.0.jar which should have been provided with your Shibboleth installation.

So if you were following these instructions you should also have followed this step:

Endorse Xerces and Xalan by creating the directory JETTY_HOME/lib/endorsed/ and copy the .jar files included in the IdP source endorsed/ directory into the newly created directory.

So long as you copied all the jar files appropriately, it should be okay. My guess is that you missed out that step - or perhaps only copied the jar files with Xalan or Xerces in the name, and missed the other two.