2011-12-03 8 views
3

を生成し、別々のデプロイメントモジュールで私は奇妙なエラーが発生します。具体的には:CDIは、私はGlassfishの3.1 CDIを評価しようとしていると私は私のコードを分割しようとしているとき、私は、それがうまく動作させるために達成しているにもかかわらず、エラー「WELD-001408不満の依存関係」

同じユーティリティプロジェクトには2つのクラスがバンドルされています(CommonLib.jarとしましょう)。クラス名はUserDatabaseUserDatabaseEntityManagerであり、その定義は次のとおりです(このメッセージの末尾のPSにあります)。 私はEJB3.1モジュールを含むEARも持っています。

私はEARの「バンドルされたライブラリ」としてCommonLib.jarを展開することを選択した場合は、その後、私は次のエラーを取得:私のようにCommonLib.jarを展開するときに、私はまた、取得上記のよう

Error occurred during deployment: Exception while loading the app : WELD-001408 Unsatisfied dependencies for type [ EntityManager ] with qualifiers [ @UserDatabase ] at injection point [[field] @UserDatabase @Inject com.test.TestEJB.itemPersistenceEm ]. Please see server.log for more details.

同じエラーを共有ライブラリ(jarファイルが$glasshfish_installation_path/domains/domain1/lib下にコピー) しかし、私はちょうどEJBプロジェクト(したがって、それらはEJBモジュール内にコンパイルされている)に二つのクラス(UserDatabaseUserDatabaseEntityManager)を持っていることを選択した場合、その後、注入が正常に動作します。

私はクラスローダーの問題に直面していますか?どのように私はこの問題を乗り越えることができる任意のアイデア?あなたは私たちがwhile working on Seam 3を見つけたGlassfishのCDI統合の問題のいくつかに実行しているよう

答えて

0

が鳴ります。彼らのカップルかもしれないので、あなたはそれがどれかもしれないかを見てみる必要があります。 JBoss AS7またはApache TomEEでテストを行い、まだ問題がないかどうかを確認してください。私は数日前にGlassfishのとCDIと非常に同様の問題に直面しているため

3

ただの推測、:CDIはの両方をスキャンするようにあなたは、CommonLib.jar内すなわちbeans.xmlすべてのでJAR、およびEJB JARを持っていますかそれら?

私の問題は、私はそうではありませんこれは、EARにbeans.xmlを配置することで十分であろうと思っているという事実に起因します。

+1

あなたは私の人生の全体の夜を保存します。戦争に含まれているejb-jarのインタフェースは5時間解決されていませんでした。今私は家に帰ることができます。わたしは、あなたを愛しています。結婚して下さい? –

関連する問題