EJBConfigurationException:找不到EJB的Bean类

时间:2014-12-10 10:24:17

标签: java eclipse java-ee ejb websphere

我有一个java web项目,其中配置了ejb(3.1)。当我将ear项目添加(添加项目)到本地websphere aplication server v8.0(在eclipse中)并启动服务器时,我收到以下错误:

处理EJB-in-WAR的引用时出错:com.ibm.ejs.container.EJBConfigurationException:bean类" nl.xx.xx.xx.xx.xx.GebruikerFacade"对于EJB" xx-xx-ear#xx-xx-web.war#GebruikerFacade"找不到。

因为我无法找到问题,所以我通过管理控制台(新应用程序)将ear-file部署到websphere应用程序服务器。我使用mvn clean install package创建的ear-file。 然后从de admin console中启动应用程序时,不会给出错误。 相反,它报告GebruikerFacade的远程接口是绑定的。

启动使用添加项目添加ear项目的应用程序服务器时,可能是错误的原因。

额外信息:已添加20141211 无法找到bean类的原因是,当通过添加项目将耳朵部署到webspere应用程序服务器时,业务接口在已部署的耳朵内是空的。 这是Enterprise Bean Bean属性/ Enterprise Bean的Bind EJB Business中的属性。 设置了module,bean和uri属性,但是必须是Remote接口类的完整路径的业务接口不是。 当通过新应用程序在应用程序服务器上部署de ear时,业务接口包含Remote接口类。

以下新答案中的控制台输出。

2 个答案:

答案 0 :(得分:1)

使用"右键单击服务器 - 将项目部署到服务器时,控制台输出中的第一个错误 - 添加/删除项目":

 [11-12-14 8:14:39:832 CET] 00000030 ComponentData E   CWMDF0012E: The bean class nl.company.rvl.facade.GebruikerFacade for EJB 
rvl-ear#rvl-web.war#GebruikerFacade is not found. 

以某种方式启动EJB jar"在这一点上没有启动过程。 如果将ear-file作为新应用程序添加到管理控制台中,则启动此应用程序正在进行处理 以下输出:

[11-12-14 9:01:16:381 CET] 00000047 AbstractEJBRu I   WSVR0037I: Starting EJB jar: rvl-web-2015.2.10.00-SNAPSHOT.war
[11-12-14 9:01:16:881 CET] 00000047 EJBContainerI I   CNTR0167I: The server is binding the nl.company.rvl.facade.GebruikerFacadeRemote interface of the GebruikerFacade enterprise bean in the rvl-web-2015.2.10.00-SNAPSHOT.war module of the rvl-ear application.  The binding location is: ejb/gebruikerFacade-bnd
[11-12-14 9:01:16:897 CET] 00000047 AbstractEJBRu I   CNTR0167I: The server is binding the nl.company.rvl.facade.GebruikerFacadeRemote interface of the GebruikerFacade enterprise bean in the rvl-web-2015.2.10.00-SNAPSHOT.war module of the rvl-ear application.  The binding location is: java:global/rvl-ear/rvl-web-2015.2.10.00-SNAPSHOT/GegevenspartnerFacade!nl.company.rvl.facade.GebruikerFacadeRemote
[11-12-14 9:01:16:897 CET] 00000047 EJBContainerI I   CNTR0167I: The server is binding the nl.company.rvl.facade.GebruikerFacade interface of the GebruikerFacade enterprise bean in the rvl-web-2015.2.10.00-SNAPSHOT.war module of the rvl-ear application.  The binding location is: ejblocal:ejb/gebruikerFacade-bnd
[11-12-14 9:01:16:897 CET] 00000047 AbstractEJBRu I   CNTR0167I: The server is binding the nl.company.rvl.facade.GebruikerFacade interface of the GebruikerFacade enterprise bean in the rvl-web-2015.2.10.00-SNAPSHOT.war module of the rvl-ear application.  The binding location is: java:global/rvl-ear/rvl-web-2015.2.10.00-SNAPSHOT/GebruikerFacade!nl.company.rvl.facade.GebruikerFacade
[11-12-14 9:01:16:912 CET] 00000047 AbstractEJBRu I   WSVR0057I: EJB jar started: rvl-web-2015.2.10.00-SNAPSHOT.war

答案 1 :(得分:0)

在“服务器”选项卡中,完整发布项目。即使您保存它,也必须将其发布到您的服务器中。每次进行一次小的更改都需要发布,这有点令人讨厌,但是将.war部署到服务器的方式。

如果不起作用,请尝试删除服务器并配置新服务器。

有一个很好的代码!