我正在处理两个Eclipse项目。前者包括我设法在Wildfly Servr上部署的一些会话Bean。 Latter包含一个我需要注入和使用bean的Servlet。
这是包含会话bean的项目的结构。 Projects是我想用作Session Facade与Project JPA实体交互的会话bean。
这是注入会话bean的servlet。 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);
}
这是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>
部署Web应用程序时出现错误:获取类servlet.Projects的反射信息时出错
答案 0 :(得分:0)
参考此article。 JBoss AS7 +中的类加载与以前版本的JBoss AS有很大不同 类加载基于JBoss Modules项目。 AS7的类加载不是更熟悉的分层类加载环境,而是基于必须在其他模块上定义显式依赖关系的模块。
耳部署是多模块部署。这意味着,除非已定义明确的依赖关系,否则并非耳内的所有类都必须能够访问耳中的所有其他类。 默认情况下 public int GetValue() {
int i = 20;
SetNewValue(ref i);
return i;
}
public void SetNewValue(ref int value) {
value = 100;
}
目录是单个模块,每个WAR或EJB jar部署也是一个单独的模块。
请参阅文章中的EAR/lib
了解耳部。