17

次のエラーメッセージが表示されます。

java.lang.ClassCastException:weblogic.xml.jaxp.RegistryDocumentBuilderFactoryをjavax.xml.parsers.DocumentBuilderFactoryにキャストできません

私はこれを研究しているいくつかのフォーラムを通過しました。彼らは削除するxml-apis.jarか、JARファイルが競合していると言いました。しかし、提案されたすべての手順を実行しても、同じエラーが発生します。

4

7 に答える 7

14

それは常にxml-apis.jarです。それらをクラスパスから削除します (たとえば、Web アプリケーションの WEB-INF/lib から削除します)。

于 2011-02-07T21:28:27.833 に答える
5

xml-beans-1.xb2 を lib ディレクトリに移動します。POM を変更して、次の jar ファイルが含まれないようにしました。

<dependency>
    <groupId>xml-apis</groupId>
    <artifactId>xml-apis</artifactId>
    <version>1.0.b2</version>
    <scope>provided</scope>
</dependency>
于 2014-06-25T07:49:53.400 に答える
4

バナンが正しいと思います。フォーラムhttp://forum.springsource.org/showthread.php?t=22597では、同様の問題の解決策について説明しています。

通常、このような問題は、クラス パスに同じクラスの複数のバージョンがあり、それらのバージョンが異なるクラス ローダーによってロードされている場合に発生します。DocumentBuilderFactory の 1 つのバージョンはシステム クラス ローダーによってロードされ、他のバージョンはエンタープライズ アプリケーションのクラス ローダーによってロードされました。XML パーサーを呼び出すときは、親のバージョンのクラスが使用されます。キャストするときは、プライベート バージョンが使用されます。これらのバージョンには互換性がないため、ClassCastException が発生します。

于 2011-02-07T21:20:27.373 に答える
4

この問題の理由は、ライブラリに同じクラス名の複数の jar があるためです。WEB-INF/lib に移動し、xml-apis-1.0.b2.jar および stax-api-1.0.1.jar を削除するか、pom.xml 自体からそれらを削除すれば問題ありません。

于 2014-02-07T21:49:56.640 に答える
2

他の誰かが私と同じ状況にある場合に備えて、この質問に対する以前の回答に少し追加したいと思いました. CXF 2.2.3 を使用していたため、WebLogic 9.2 サーバーでも同じ問題が発生しました。前述の xml-apis.jar の削除に加えて、xmlParserAPIs ライブラリも削除する必要がありました。

私はMaven2を使用しているので、別のインクルードを追加するだけの簡単な問題でした.

    <!-- CXF -->
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-bundle</artifactId>
        <version>${dependency.version.cxf}</version>
        <scope>compile</scope>
        <exclusions>
            <exclusion>
                <artifactId>xml-apis</artifactId>
                <groupId>xml-apis</groupId>
            </exclusion>
            <exclusion>
                <artifactId>xercesImpl</artifactId>
                <groupId>xerces</groupId>
            </exclusion>
            <exclusion>
                <artifactId>xmlbeans</artifactId>
                <groupId>org.apache.xmlbeans</groupId>
            </exclusion>
            <exclusion>
                <artifactId>xmlParserAPIs</artifactId>
                <groupId>xerces</groupId>
            </exclusion>
        </exclusions>
    </dependency>

これが誰かを助けることを願っています!

于 2011-05-25T17:41:47.967 に答える
1

私たちもそんな悩みを抱えています。エラーの原因は gwt ライブラリにありました。レシピ: すべての gwt クライアント ライブラリをディストリビューションから除外します。

于 2013-05-28T04:59:51.357 に答える
0

私の場合は、xml-apis ライブラリを削除し、XML 処理ライブラリをアップグレードすることで、この問題を解決できました。

から org.apache.xmlbeans/xmlbeans/2.4.0

の中へ org.apache.xmlbeans/xmlbeans/2.6.0

参考までに、Weblogic 10.3.6.0 を使用しています。

于 2016-05-25T03:36:51.197 に答える