次のメッセージが表示されます。
javax.xml.parsers.FactoryConfigurationError: プロバイダー org.apache.xerces.jaxp.DocumentBuilderFactoryImp
しかし、私は問題を解決できないようです。私はグーグルで検索しましたが、良い解決策が見つかりません。
誰が何が間違っているのか考えていますか? そして、おそらくそれを解決する方法:)
これorg.apache.xerces
はApacheXercesパッケージからのものであり、アプリケーション内の何かがそれに依存しています。ダウンロードして(最新バージョンは2.9.0)、アプリケーションのクラスパスに追加してみてください。
DocumentBuilderFactoryには、リンクされた JavaDoc で説明されているように、実際のパーサーの実装を見つけるための複数ステップのプロセスがあります。あなたのエラーメッセージはほぼ確実にそこから来ています。
JBoss 起動スクリプトがシステム プロパティを間違って設定していると思われますjavax.xml.parsers.DocumentBuilderFactory
(これは以前に発生したことがあり、リリースされたライブラリのバグを回避するために使用されていました)。まず、そのプロパティの JBoss 構成ディレクトリを grep し、続いてプロパティを明示的に設定しjaxp.debug
ます (これもリンクで説明されています)。起動スクリプトが実際にプロパティを明示的に設定していると仮定して、誰がその変更を行ったかを調べて、それを削除できるかどうか (削除できない場合は正しい JAR を提供するかどうか) を尋ねます。
質問にJBossのタグを付けたので、コードはJBossコンテナーで実行されていると想定します。
JBossは、それ自体が使用するためにXercesのバージョンをすでにロードしている可能性があり、コードに別のバージョンをロードしようとしています(明示的にまたは何らかの依存関係を介して)。バージョンの設定は、すでにロードされているバージョンと互換性がありません。
JBoss.or gのこのJIRAチケットは、jasperserver / WEB-INF / libフォルダーにあるxercesimpl.jarを削除して、ご使用のバージョンを使用できるようにすることをお勧めします。