我使用Maven,WebSphere 6.x,RAD 8.x并获得了一个maven web项目。
我尝试将MDB添加到Web项目中。我将MDB放在src / main / java下并直接在WEB-INF下放置了ejb-jar.xml和websphere绑定
当我部署Web项目时,我没有看到MDB部署。
我该如何解决这个问题?
我是否应该在web.xml中添加一些内容,通知Web应用程序它有一个EJB?
我问了一个不同的问题Here,我分别创建了一个MDB项目,并试图依赖于Web项目中的类,并得到了一个响应,我可以将我的EJB部署为Web应用程序本身的一部分。
当部署为单独的ejb项目时,MDB正确部署。但是在运行时期间EJB项目无法找到Web项目的依赖项。它抛出No Class Found异常。
所以请帮助我解决其中一个
1)如何在WAR中创建EJB并让WAR明白它有一个EJB? - 在这种情况下,战争没有认识到ejb
或
2)如何使一个独立的EJB项目从Web项目中识别类? - 在这种情况下,ejb无法识别战争类
答案 0 :(得分:1)
由于使用Java EE 1.4,因此无法在WebSphere 6.1中的WAR内部创建EJB。您需要升级到WebSphere 8.x。
对于WebSphere 6.1,您需要在单耳中打包war和ejb并更改应用程序的类加载器设置。部署应用程序后,在控制台中转到Enterprise Applications > yourApp > Class loader
和WAR class loader policy
集Single class loader for application
(这些名称来自8.5,但6.1中应该有类似的东西,我没有6.1控制台因为它很老,不再支持)。
有关详细信息,请参阅Configuring application class loaders