私はEclipseでプロジェクトを構築しようとしています(実際にはRADを使用しているので、基本的にEclipseであり、「Java EEプロジェクト」と言うときは「エンタープライズアプリケーションプロジェクト」を意味します)。
私のエンタープライズアプリケーションプロジェクト(「EAR」プロジェクト)には、2つのモジュールプロジェクトがあります。--service --web
サービスプロジェクトにはいくつかのものが含まれており、すべてSpringを使用して接続されています。
Webプロジェクトには独自のものがあり、すべてSpringを使用して接続されています。WebプロジェクトのUIスタッフは、サービスプロジェクトのUIスタッフを使用する必要があります。
両方のプロジェクトは、モジュールとしてEARプロジェクトに含まれています。
Webプロジェクトは、「サービス」プロジェクトをビルドパスの依存プロジェクトとしてリストし、エクスポート用にチェックオフされ、EEモジュールの依存関係としてもリストされます。
私はこれを機能させるのに本当に苦労しています:
もちろん、WebプロジェクトのSpringコンテキストは、アプリケーションがデプロイされたときに読み込まれるものであり、サービスプロジェクトから必要なSpring構成をインポートします。これは正常に機能しているようです。
SpringがBeanをインスタンス化しようとすると、ClassNotFoundExceptionがスローされます。最初の豆について。
スプリング構成をサービスコンテキストからコピーしてWebコンテキストに貼り付けようとしましたが、同じClassNotFoundExceptionが発生しました。
WebプロジェクトのJavaコントローラークラスでそのタイプのオブジェクト(Springが言うクラスが見つからない)をインスタンス化しようとしましたが、コンパイル時(コンパイルエラーなし)と実行時(例外なし)の両方で成功しました。 。
そのため、Springがクラスパスを使用しようとすると、サービスプロジェクトのクラスはクラスパスで使用できなくなります。
ここで何が起こっているのか、そして/または私がそれについて何ができるのか、何かアイデアはありますか?