2

ejb (jar) プロジェクトと Web (war) プロジェクトをラップする ear で構成される NetBeans Enterprise アプリケーションを作成しました。

Web プロジェクトにサーブレットがあり、その中で ejb プロジェクトの EJB の 1 つを使用したいと考えています。

@WebServlet(name = "Shop", urlPatterns = {"/ajax/add_to_cart"})
public class ShoppingCartServlet extends HttpServlet {

    @EJB
    ShoppingCartFacade shoppingCartFacade

NetBeans で、ShoppingCartFacade の「シンボルが見つかりません」というエラーが発生します。「兄弟」ejb プロジェクトにあるにもかかわらず、Netbeans は ShoppingCartFacade のパッケージを自動的に見つけることができません。サーブレットにパッケージ名を手動で入力し始めると、つまり.

import com.myproject....

表示されているパッケージは、Web プロジェクト自体のパッケージのみであることがわかります。

com.myproject.web.my_web_related_package見える

一方

com.myproject.ejb.my_ejb_related_package見えない

ビジネス ロジックを ejb に配置し、サーブレットなどの Web リソースから呼び出すことができるように、ejb プロジェクトと Web プロジェクトを分離することの全体的なポイントとして、EJB を Web プロジェクトに挿入することは確かに簡単である必要があります。

では、Web (war) アプリケーションで EJB をどのように使用すればよいのでしょうか?

4

2 に答える 2

2

ejb プロジェクトを Web プロジェクトの依存関係として明示的に宣言する必要がありました。これは、通常の NetBeans エンタープライズ アプリケーションの場合は自動的に行われるようですが、私の場合は Maven エンタープライズ アプリケーションの場合はそうではありません。

于 2013-01-22T20:21:10.920 に答える