2011-08-01 7 views
0

I持っ6つのアプリケーションは、JBoss 6の下に展開されたJava EEの次のセット: JBoss 6の下でマルチアプリケーションのデプロイメントでEJB 3.1リモートインタフェースを使用するには?

  • 第二

    • その実装とEJBリモートインタフェース
    • 第一WAR-アプリケーションと共通のJARは、EJBリモートインタフェースEJBリモートインタフェースを使用してPOJOとWAR-アプリケーション(@EJB MyRemoteInterface remoteBean;)
    • 両方ウォーズ(WARのlib内のJARとして含まれていない)
    を共通JARに提供範囲とMavenのdependenyを有します

    すべてのアプリケーションは正常に構築され、WARはJARの他の共通クラスを使用することができます。しかし、展開中に、リモートインタフェースを挿入できないというエラーが表示されます。

    したがって、2つのWARの間でインターフェイスクラスファイルを共有する必要性に対処する正しい方法は何ですか? 注入作業を行うためにWEB-INF/libにJARとしてインクルードする必要がありますか、それを展開するだけで十分ですか?

  • 答えて

    0

    Java EE 6でこれを行う方法は、.earファイルのlibフォルダに共通の依存関係を含めることです。

    あなたはMavenのを経由して最終の.earにこのフォルダの場所を設定することができます - 今まで、私は、共通のjarファイルをバンドルしたくなかった

    <plugin> 
        <artifactId>maven-ear-plugin</artifactId> 
        <version>2.5</version> 
        <configuration> 
          <defaultLibBundleDir>/lib</defaultLibBundleDir> 
         <version>5</version> 
    ... 
    </plugin> 
    
    +0

    たぶん私は自分自身が十分に明らかにされていません私が2度展開したくないエンティティと永続ユニットも含んでいるので、WAR(EARではない)を使用してください。エンティティやその他のヘルパークラスでうまく動作し、EJB参照のみを注入できませんでした。コンパイル時には、リモートインタフェースクラスファイルがWARアプリケーションに表示されます。だから私の質問は、注入されたリモートインタフェースを個別に配備されたJARに入れたり、WARs lib内になければならないのかどうかということですか? –

    +0

    なんらかの理由で私はあなたの戦争がすべて生きる耳のファイルを持っていると思っていました。 私は上で説明したように、すべてを耳に収めることによってこれを行う権利と簡単な方法があると信じています。 .earファイルを使用できないことがありますか? –

    +0

    さて、JEE 6以降、より単純なWARパッケージを使用することができます。これが私のやり方です。しかし、私は、パッケージの形式に依存しないという質問は、別のJARとしてデプロイされたものを注入することが可能なのではないかと思います。 –

    関連する問題