私は 4 つのモジュールを持つエンタープライズ アプリケーション プロジェクトを持っています。WLS 10.3.4 にデプロイされます。私は、Eclipse用のOracle Webツールを使用した開発にEclipse Heliosを使用しています。私のマシンのローカル WLS は、開発モードとしてインストールされます。
プロジェクトの構造は次のようになります。
xxx_EAR
|-> xxx_JPA
|-> xxx_EJB
|-> xxx_EJBClient
|-> xxx_WEB
モジュール全体で使用される共通の jar は、xxx_EAR/APP-INF/lib にあります。
xxx_JPA の内部には、3 つの永続ユニットを持つ persistence.xml があり、xxx_EJB には、@PersistentContext を使用してそれらを参照するクラス、Bean があります。
EJB version is 3.0
JPA is 1.0 (Eclipselink 1.1.x)
すべてが私のコンピューターでローカルに正常に動作します。テスト WLS に EAR ファイルをデプロイしようとすると、次の例外が発生します。
Unable to deploy EJB: XxxFacadeImpl from xxx_EJB.jar:
No persistence unit named 'xxx_EJB' is available in scope xxx_EJB.jar. Available persistence units: []
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:469)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:518)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
...
私が見るように、サーバー間の唯一の違いはインストールモードであり、テストWLSはプロダクションモードとしてインストールされます。
ヒントはありますか?
前もって感謝します!!