web-dev-qa-db-ja.com

NoClassDefFoundError:org / w3c / dom / ElementTraversal

Jetty 7をインストールし、このガイドに従ってIdP Shibbolethに正しく設定しました: https://wiki.shibboleth.net/confluence/display/SHIB2/IdPJetty7Prepare =

しかし、Jettyを起動しようとすると、次のエラーが表示されます。

NoClassDefFoundError: org/w3c/dom/ElementTraversal

この問題を解決するには、ElementTraversal依存関係をインストールして、classpath
しかし、どうすればこれを達成できますか?このクラス [ElementTraversal.class] または。jarファイルをダウンロードする必要がありますか?そしてどこに置けますか?の中に JETTY_HOMECLASSPATHをエクスポートする必要がありますか?

誰かが私を助けることができますか?
どうもありがとうございます!

23

ElementTraversalはxml-apis-2.10.0.jarの一部であり、Shibbolethのインストール時に提供されるはずです。

したがって、 これらの手順 に従っている場合は、この手順も実行する必要があります。

ディレクトリJETTY_HOME/lib/endorsed /を作成してXercesとXalanを承認し、IdPソースendorsed /ディレクトリに含まれる.jarファイルを新しく作成したディレクトリにコピーします。

すべてのjarファイルを適切にコピーしていれば、問題ありません。私の推測では、あなたはそのステップを逃した-またはおそらくonly名前にXalanまたはXercesが含まれるjarファイルをコピーし、他の2つを逃したと思われます。

23
Jon Skeet

私の場合、xml-apisバージョンを1.3.04から1.4.01に変更することで問題を修正しました。

ところで、バージョン2.10.0はMaven Centralには存在しません(Jon Skeetがどこで見つけたのか興味があります)。

17
yegor256

これをファイルに追加して、依存関係を解決します。

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