0

WAS 6.1 で jax rs Jersey アプリケーションをテストしようとすると、次の問題に直面しています: 特に ClassReader クラスの場合、Jersey には asm 3.1 が必要ですが、このクラスの互換性のないバージョンが WAS プラグイン ディレクトリから読み込まれます。

間違ったクラス定義が次の場所からロードされます:
file:/C:/Program Files/IBM/SDP70/runtimes/base_v61/plugins/com.ibm.wsfp.main_6.1.0.jar

アプリケーションをそのまま実行すると、 noSuchMethodError が発生します。

java.lang.NoSuchMethodError:     org/objectweb/asm/ClassReader.accept(Lorg/objectweb/asm/ClassVisitor;I)V
    at  com.sun.jersey.server.impl.container.config.AnnotatedClassScanner.analyzeClassFile(AnnotatedClassScanner.java:322)
    at com.sun.jersey.server.impl.container.config.AnnotatedClassScanner.indexDir(AnnotatedClassScanner.java:271)

....

この jar をプラグイン ディレクトリから削除すると、バージョン 3.1 の asm jar が取得され、すべて問題ありません。

ここで私の質問です:この種の状況に対処する良い方法は何ですか? 私が彼にそれを与えるときに、その瓶の代わりに私の瓶を拾うようにサーバーに指示する方法はありませんか?

ここに問題の完全な説明があります。

ありがとうございました、

マシュー。

4

0 に答える 0