2017-10-28 40 views
0

私は2つのEclipseプロジェクトを扱っています。前者には、Wildfly Servrで展開できるセッションBeanがいくつか含まれています。 Latterには、Beanを注入して使用するためのサーブレットが含まれています。Wildfly:クラスの反映情報を取得中にエラーが発生しました

これは、セッションBeanを含むプロジェクトの構造です。 Projectは、Project JPAエンティティと対話するためにSession Facadeとして使用するセッションBeanです。

enter image description here

これは、Session Beanを注入するサーブレットです。 ProjectsLocalはローカルインターフェイスです。

@EJB 
private ProjectsLocal projects; 

/** 
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    projects.createProject("TestProject"); 
    String res = projects.getAllProjects(); 
    System.out.println(res); 
    request.getRequestDispatcher("/projects.jsp").forward(request,response); 
} 

これは、ウェブapplictionを展開するとき、私は彼のエラーを取得するweb.xmlの

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
    <ejb-local-ref> 
    <ejb-ref-name>Projects</ejb-ref-name> 
    <ejb-ref-type>Session</ejb-ref-type> 
    <local-home>entities.ProjectsLocal</local-home> 
    <local>myBeans.BeanA</local> 
    </ejb-local-ref> 

    <security-constraint> 
    <web-resource-collection> 
     <web-resource-name>administrator</web-resource-name> 
     <url-pattern>/twp/Login/*</url-pattern> 
     <http-method>POST</http-method> 
     <http-method>GET</http-method> 
     <http-method>PUT</http-method> 
     <http-method>DELETE</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>ADMINISTRATOR</role-name> 
    </auth-constraint> 
    </security-constraint> 
    <login-config> 
    <auth-method>FORM</auth-method> 
    <realm-name>school</realm-name> 
    <form-login-config> 
     <form-login-page>/login.xhtml</form-login-page> 
     <form-error-page>/error.xhtml</form-error-page> 
    </form-login-config> 
    </login-config> 
    <security-role> 
    <role-name>ADMINISTRATOR</role-name> 
    </security-role> 
    <security-role> 
    <role-name>USER</role-name> 
    </security-role> 
</web-app> 

です:Errorこのarticleを参照して、クラスservlet.Projects

+0

WARデプロイメントにEJBライブラリを含めない理由はありますか? –

答えて

0

ための反射情報を取得。 JBoss AS7 +のクラスローディングは、以前のバージョンのJBoss ASとはかなり異なっています。
クラスの読み込みは、JBoss Modulesプロジェクトに基づいています。 AS7のクラスローディングは、より使い慣れた階層的なクラスローディング環境ではなく、他のモジュールへの明示的な依存関係を定義する必要があるモジュールに基づいています。

耳の配置は、マルチモジュール展開です。つまり、明示的な依存関係が定義されていない限り、耳の中のすべてのクラスが必ずしも耳の他のすべてのクラスにアクセスするわけではありません。 デフォルトではディレクトリはEAR/libディレクトリは単一モジュールであり、すべてのWARまたはEJB jarデプロイも別個のモジュールです。

耳の配置については、記事のjboss-deployment-structure.xmlを参照してください。

関連する問題