2012-01-10 4 views
4

私は4つのモジュールを持つエンタープライズアプリケーションプロジェクトを持っています。 WLS 10.3.4に展開されています。 Eclipse用のOracle Webツールを使用して開発用にEclipse Heliosを使用しています。 私のマシン上のローカルWLSが開発モードとしてインストールされています。プロジェクトのWLS 10.3.4 - スコープxxx_EJB.jarには、 'xxx'という永続性単位はありません。利用可能な永続性単位:[]

構造は次のようである:

xxx_EAR 
|-> xxx_JPA 
|-> xxx_EJB 
|-> xxx_EJBClient 
|-> xxx_WEB 

共通ジャー、それはモジュールaccross使用さxxx_JPA内部xxx_EAR/APP-INF/libに

に3つの永続性単位とのpersistence.xmlであります、およびxxx_EJBは@PersistentContextを使用してそれらを参照するクラス、Beanです。

EJB version is 3.0 
JPA is 1.0 (Eclipselink 1.1.x) 

すべてがローカルのコンピュータで正常に動作します。私が見るように、私はサーバー間で、次の例外

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上のEARファイルを展開しようとすると、 がインストールモードである、テストWLSは次のようにインストールされています生産モード。

ヒントはありますか?

ありがとうございます!

答えて

0

サーバーのバージョンは同じですか? JPA jarのすべてをEJB jarファイルに入れるとどうなりますか?

+0

私はEJBモジュールにすべてをかける場合はそれが動作します。私は2つのモジュールxxx_EJBとxxx_WEBしか持っていない。しかし、私はレイヤーを分離する必要があるので、私は2つのモジュール、永続性のためのJPAとinterfaces.inのEJBClientを作りました。 – Kenny

0

私は同じエラーが発生しましたが、逆でした。私は、EARをプロダクションまたはWebLogicコンソールからデプロイすることはできますが、Eclipse Weblogicプラグインを使用してローカルにデプロイすることはできません。私のために働いていたのは、EJBプロジェクトのビルドパスにあるjavax.persistence_xxx.jarのバージョンを変更することでした。

私の場合、私はjavax.persistence_1.xxxからjavax.persistence_2.xxxに変更します。

希望すると、誰かに役立ちます。この問題を解決するための私の検索では、コーダースの下のリンクも私を助けてくれました。

http://www.coderanch.com/t/578851/EJB-JEE/java/persistence-unit-named-scope-BL

関連する問題