2017-04-03 16 views
0

私は2つのwarファイルを含んでおり、各戦争にはステートレスejbとjersey restクラスが含まれています。インタフェースは、commons.jarファイル内にあります。WAR>パッケージからEAR>ローカルejbコールへのステートレスejb

EAR 
-- /lib/commons.jar 

-- rest-1.war 
     -- stateless-ejb-1.java 
     -- jersey-rest-1.java 

-- rest-2.war 
     -- stateless-ejb-2.java 
     -- jersey-rest-2.java 

私は@Injectアノテーションでステートレス-のejb-2からステートレス-のejb-1を使用しようとしていますが、私は、展開期間中CDI deployment failure:WELD-001408: Unsatisfied dependenciesのエラーを取得:EAR構造は次のようになります。ステートレス-ejb-2で@EJBを使用すると、耳が配置されますが、jersey-rest-2を呼び出すときにリモートルックアップエラーが発生します。

これは私のメソッド呼び出しチェーンです:

  • ジャージー残り-1>はステートレス-のejb-1:作品罰金
  • ジャージー残り-2>ステートレス-のejb-2> stateless- EJB-1:私は

は、私はすべてが同じ耳にパッケージされているため、リモートEJB呼び出しを使用したくないのejb-1のルックアップエラーを取得しますが、それ(私の代わりに@EJBの@Injectを使用したいです)動作しません。

私はstateless-ejb-1.javaをjarにパックして、それが動作するよりもEJB/libの下に置くと思います。しかし私は、この1つのファイルを分離したjarファイルにパックするために、私のプロジェクトで新しいモジュールを作成したくありません。 解決策は何ですか?

答えて

1

​​をEARのejb-jarモジュールに移動する必要があります。

異なるWARファイル内のクラスは、EARファイルに組み込まれていても、互いに見えません。

関連する問題