7

ライブサーバーの1つで次の例外が発生し続けます(同じコードを実行している他のサーバーは問題ないようです):

java.lang.RuntimeException: XPathFactory#newInstance() failed to create an XPathFactory for the default object model: http://java.sun.com/jaxp/xpath/domwith the XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: No XPathFctory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom
 at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:67)

クラスパスに Xalan および Saxon jar があることは確かです (IBM Java 1.5 を使用)。

他に何が間違っている可能性がありますか?

編集:

それが問題を引き起こすコードです:

            XPathFactory factory = XPathFactory.newInstance();

また、大まかにカタリナ エンジンに基づいたカスタム Web サーバー上で実行されています。

4

3 に答える 3

7

クラスパスに適切な .jar を追加する必要があります。私の場合、Saxon-HE ライブラリを使用しました。

Saxon9 にはバグがあり、私のように遭遇するかもしれません。

このバグは、バージョン 9.5.1.5 で修正されています。そのため、最新の Saxon 9 HEをダウンロードできます。

于 2014-06-15T08:08:30.437 に答える
3

自分で答えを見つけました:問題は、Java 5の使用とオプションの組み合わせです

-Djava.endorsed.dirs

xalan.jar を含むディレクトリに設定します。

削除すると、すべてが再び機能します。

于 2009-04-28T18:06:53.550 に答える
2

使用している xalan のバージョンに対応する適切な xml-apis.jar および xerces jar がクラスパスにあることを確認してください (正確に必要なものについては、リリース ノートを確認してください)。また、xercesImpl.jar、xml-apis.jar、および xalan.jar が同期している必要があるため、重複していないことを確認してください。

于 2009-04-28T17:30:37.367 に答える