0

WebSphere 7 で特有の問題に直面しています。Spring WS アプリケーションには /WEB-INF/lib の下にいくつかの Jar があり、明示的なクラスパスがありません。アプリケーションは、2 つのクラスター化されたサーバーにデプロイされます。EAR にはモジュールが 1 つだけ含まれており、他の Jar は含まれていません。サーバーの1つで動作していますが、他のサーバーでは失敗しています。以下のエラーが発生しています: 原因: java.lang.NoSuchMethodError: org/w3c/dom/Node.getLocalName()Ljava/lang/String;

WebSphere Classpath Viewer に表示されるように、両方のサーバーのランタイム クラスパスは異なります。これがエラーの原因だと思います。また、両方のサーバーのクラスローディングが同じで、PARENT_LAST/Application に設定されていることも確認しました。

クラスパスが両方のサーバーで同じであることを確認するにはどうすればよいですか?

4

2 に答える 2

0

問題は解決しました。原因: java.lang.NoSuchMethodError: org/w3c/dom/Node.getLocalName()Ljava/lang/String; getLocalName() メソッドのない Node クラスのバージョンを含む "xml4j.jar" が原因でした。Node クラスと getLocalName() メソッドも「dom.jar」の一部です。機能しなかったサーバーの 1 つで、間違ったバージョンの Node クラスをロードしている可能性があります。「xml4j.jar」を削除した後、すべての環境で機能しました

ありがとう!

于 2012-08-31T18:53:53.443 に答える
0

Dmgr 管理コンソールを開き、次の場所に移動します。

エンタープライズ アプリケーション > APP_NAME > モジュールの管理 > MODULE_NAME > クラス ローダーの表示 (サーバーの選択)

次に、両方のサーバーを見て、何か違うかどうかを確認します

于 2012-08-27T10:19:58.823 に答える