我使用了Maven、WebSphere 6.x、RAD 8.x,并获得了一个Maven web项目。
我试图将MDB添加到web项目中。我将MDB放在src/main/java下,并将ejb-jar.xml和websphere绑定直接放在WEB-INF下
当我部署web项目时,我没有看到MDB被部署。
我该怎么解决这个问题?
我应该在web.xml中添加一些内容来通知web应用程序它有EJB吗?
我在这里问了一个不同的问题,我单独创建了一个MDB项目,并试图依赖于web项目中的类,得到的答复是我可以将EJB部署为web应用程序本身的一部分。
MDB在作为单独的ejb项目部署时会正确部署。但是EJB项目在运行时无法找到对web项目的依赖关系。它引发了"未找到类"异常。
所以请帮我做这两个中的一个
1) 如何在WAR中创建EJB,并使WAR理解它有EJB?-在这种情况下,战争没有识别ejb
或
2) 如何使独立的EJB项目从web项目中识别类?-在这种情况下,ejb无法识别war类
在WebSphere 6.1中不可能在WAR中创建EJB,因为它使用的是Java EE 1.4。为此,您需要升级到WebSphere8.x。
对于WebSphere6.1,您需要将war和ejb打包到one-ear中,并更改应用程序的类加载器设置。部署应用程序后,在控制台中转到Enterprise Applications > yourApp > Class loader
,在WAR class loader policy
中设置Single class loader for application
(这些名称来自8.5,但在6.1中应该有非常相似的名称,我手头没有6.1控制台,因为它非常旧,不再受支持)。
有关详细信息,请参阅配置应用程序类加载器