2011-01-18 1 views
25

JSF 2.0、NetBeans 6.9.1、GlassFish Server 3.1、mojarra 2.0.3、およびJasperReports 3.7.6を使用してWebアプリケーションを開発しています。私のプロジェクトライブラリには、jarファイル "xerces-2.8.0.jar"が含まれています。このファイルは、JasperReports jarファイル・ライブラリーの一部としてインポートされました。私が展開しようとするたびに、実行するか、NetBeansの経由私のプロジェクトをデバッグ、私はこのエラーを受け取る:私のビルドに失敗した私のプロジェクトの変更後Xercesエラー:org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl

java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! DTD factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory. 

を、私は上記のエラーを受け取り、私が展開しようとすると、実行、またはデバッグすることができます。私は、サーバーを再起動し、2回目の実行/デバッグが必要です。私はインターネットを検索し、この問題の解決策を見つけることができません。私は問題のjarファイルを見てきました。そして、DTDDVFactoryImplは実際にDTDDVFactoryから拡張しています - なぜこのエラーを受け取っているのかわかりません。私は最終的に私のプロジェクトを実行することができますが、私はこのエラーを受け取っていない場合は非常に良いだろう。

誰でもこの問題を解決する方法を教えてください。このファイルをプロジェクトライブラリから削除する必要がありますか?このファイルを新しいバージョン/古いバージョンで更新する必要がありますか?

+0

こんにちはため$AS_HOME/glassfish/lib/endorsed$AS_HOME/lib/endorsedselenium/libs/からコピーXML瓶(xerces-*, xalan-*, xml-apis*, serialize*)でその周りに得ましたか。 – Osw

+1

私はしていません。私はそれが分かったと思った。私はプロジェクトに複数のXerxes jarファイルを持っていました。冗長なものを取り除くことで、ものを修正すると思った。私は間違っていた。それは私にこのエラーを定期的に与え続けます。 – Sean

答えて

22

独自のxerces.jarを提供する場合は、承認された規格のオーバーライドメカニズム(java -Djava.endorsed.dirs=/path/to/xerces.jar)で行う必要があります。クラスパスに追加することはできません。行う)。私に説明させてください。

JAXPはJava API for XML Processingです。 JAXPオブジェクト(パーサ、XSLTトランスフォーマ、DOMドキュメントなど)の作成はfactory/factory-method patternで行われますので、新しいJAXP実装をプラグインすることができます(JREで提供されているものよりも新しいものでなければなりません)。 Xercesは、JAXP実装の一部を提供し、承認された標準(の承認済み標準は、Javaコミュニティプロセス以外の標準プロセスによって定義されたJava APIです(Endorsed Standards Override Mechanismを参照)。あなたはESOMを使用しない場合、あらゆる種類の問題で動くでしょう。

0

GlassfishでSeleniumを使用しているときにこのエラーが発生しました。私はあなたが修正を発見した、(Glassfishの2の場合)またはGlassfishの4

+0

私も同様の問題があります。私はWebLogicアプリケーションにいくつかのSpringのもの(メッセージ駆動のPOJO)を追加しましたが、今ではこのエラーが発生しています。 WL 10.3.4、Spring 3.0.5。 (はい、私は春が少なくとも3.2.10まででなければならないことを知っています。私は春をアップグレードする前に変更を取り入れることを望んでいました。) –

関連する問題