を生成し、別々のデプロイメントモジュールで私は奇妙なエラーが発生します。具体的には:CDIは、私はGlassfishの3.1 CDIを評価しようとしていると私は私のコードを分割しようとしているとき、私は、それがうまく動作させるために達成しているにもかかわらず、エラー「WELD-001408不満の依存関係」
同じユーティリティプロジェクトには2つのクラスがバンドルされています(CommonLib.jar
としましょう)。クラス名はUserDatabase
とUserDatabaseEntityManager
であり、その定義は次のとおりです(このメッセージの末尾の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 seeserver.log
for more details.
同じエラーを共有ライブラリ(jarファイルが$glasshfish_installation_path/domains/domain1/lib
下にコピー) しかし、私はちょうどEJBプロジェクト(したがって、それらはEJBモジュール内にコンパイルされている)に二つのクラス(UserDatabase
とUserDatabaseEntityManager
)を持っていることを選択した場合、その後、注入が正常に動作します。
私はクラスローダーの問題に直面していますか?どのように私はこの問題を乗り越えることができる任意のアイデア?あなたは私たちがwhile working on Seam 3を見つけたGlassfishのCDI統合の問題のいくつかに実行しているよう
あなたは私の人生の全体の夜を保存します。戦争に含まれているejb-jarのインタフェースは5時間解決されていませんでした。今私は家に帰ることができます。わたしは、あなたを愛しています。結婚して下さい? –