2

共通のクラス JAR にパッケージ化された Web アプリケーション全体で使用されるコア機能がいくつかあります。この JAR には、EJB を参照するクラスと、CORE.jar と EJB.jar の両方を参照する Web アプリケーションがあります。

  • CORE.jar -> EJB.jar
  • WEBAPP.war -> CORE.jar
  • WEBAPP.war -> EJB.jar

Glassfish 3.1.2 を使用して Eclipse 開発プラグインにデプロイしています。

デプロイ ログに、次のようなエラーが表示されます。重大: クラス [Lnet/webframeone/ejb/data/GeoLocationsBeanLocal; ] 見つかりません。読み込み中のエラー [ class net.webframeone.servlet.action.GetGeoLocation ]

ここでの参照は、CORE.jar 内のクラスから EJB.jar 内のクラスへのものです。EAR は大まかに次のような構造を持っています。

  • EJB.jar
  • WEBAPP.戦争
  • lib/CORE.jar

CORE.jar の manifest.mf にクラスパス エントリを配置しようとしましたが、役に立ちませんでした。

CORE.jar と EJB.jar を含むデプロイメント アセンブリを使用して WEBAPP をパッケージ化し、それを EAR の外部にデプロイすると、正常に動作します。

どんなアイデアも熱狂的に除外されます!

4

1 に答える 1

0

GlassFish サーバーについてはよくわかりません。JBossを使用しています。私は以下のケースでこの問題を見てきました -

  1. /META-INF/application.xml では、すべてのモジュールが適切に言及されていませんでした。
  2. 展開用に指定されていない依存関係
于 2013-07-12T05:02:50.673 に答える