0

この記事を読んだ後:

EAR & WAR クラスローダー

そしてこの記事:

CXF JBOSS の問題

JBOSS 4.2.3 クラスローダーが lib/endorsed フォルダー内でクラス ServiceDelegate21 を見つけようとしていると確信していますが、EAR ファイル内のクラスとは何らかの形で異なるため、次のようにスローされます。

java.lang.ClassCastException: org.apache.cxf.jaxws.ServiceImpl cannot
be cast to javax.xml.ws.spi.ServiceDelegate21

もちろん、2 つの jar フォームの承認済みフォルダーを移動すると、すべて正常に動作します。しかし、これはオプションではありません。

Maven プロジェクトから JBOSS 4.2.3 GA クラス ローダーに、最初に EAR 内を調べてから lib/endorsed フォルダーを調べるように指示する必要があります。

何か案は?

[編集:]

lib/endored 内: jboss-jaxws jboss-jaxws-ext

私のEARの中で、競合するjarは

jaxws-rt-2.1.7.jar

しかし、私のプロジェクトの完全なjarリストを見てください

ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

1

ここでたくさんの瓶を混ぜているのがわかります。Maven 依存関係に jar があり、次にビルド パスに個別に jar があります。C:\eclipseHelios\lib

クリーンアップして、必要なすべてのjarがJRE libまたはMaven依存関係のみにあることを確認してください。ws jar の場合、maven 構成は次のとおりです。

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.1.7</version>
</dependency>

また、重複したバージョンの jar が多数見られます。たとえば、jaxws-api.2.1.jar も maven です。重複が多ければ多いほど、クラス バージョンの衝突が多くなります。

ライブラリを消去してから、もう一度お試しください。

于 2013-09-16T09:19:47.137 に答える