0

私は戦争中のクラスを持っています...

SomeClass.java

このクラスは、耳に埋め込まれた戦争に組み込まれています。また、耳に埋め込まれているのは、戦争中のクラスを参照する EJB クラスです (私の設計ではありません)。このクラスは明らかに存在し、デプロイされた WS アプリで確認できます。ear ファイルは次のようになります...

ear file
  META-INF
  war file <Where the .class is found>
  ejb jar file

しかし、私はまだ SomeClass で ClassNotFound Exception を取得しています。これはかなり古いバージョンなので、ejb jar が爆発戦争にある場合でも、META-INF にクラスパスを設定する必要がありますか?

ありがとう

4

3 に答える 3

0

EAR ファイル構造の下に lib フォルダーを作成し、その中に WAR と EJB の両方で共通として使用するすべての jar ファイルをコピーします。これで問題は解決するはずです。

于 2013-09-25T20:32:26.813 に答える
0

WebSphere を使用しているため、次のドキュメントで説明されているように、WAR クラス ローダー ポリシーを「アプリケーション」に設定してみてください。

http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.express.doc/info/exp/ae/crun_classload.html

これにより、アプリケーション全体に対して 1 つのクラス ローダーが作成されます。つまり、EJB と WAR 内のクラスは、同じクラス ローダーによってロードされます。これで問題が解決するはずです。

于 2013-04-02T18:10:18.767 に答える