当RAD执行“Run On Server”时,WebSphere在哪里放置EAR文件?以及如何在其上运行createEJBStubs?

时间:2012-06-22 15:09:32

标签: java ejb websphere

我有一个基于JavaEE的Web应用程序,包含IBM RAD 7.5(Eclipse)和WebSphere 7.该应用程序具有带远程接口的EJB。它运行良好。

我为JUnit测试创建了一个新项目,我正在尝试对EJB进行JNDI查找以测试它,但是我收到以下错误:

“ClassCastException:org.omg.stub.java.rmi._Remote_Stub与com.myapp.UserServiceRemote不兼容”

要解决这个问题,我的理解是我必须运行WebSphere createEJBStubs命令来生成远程存根,因此JUnit应用程序(作为单独的应用程序运行)可以查找EJB。

我的问题是:

当我通过右键单击myappEAR项目并选择“Run As> Run On Server”从WebSphere中运行我的应用程序时,WebSphere在哪里放置正在运行的EAR文件?也就是说,它在哪个文件夹中?

我问,因为我的理解是我应该在其上运行createEJBStubs命令,这将生成存根并将这些存根放在EAR中。

非常感谢任何建议,谢谢!

罗布

2 个答案:

答案 0 :(得分:1)

为了加快处理速度,实际上并未构建EAR。而是配置应用程序,以便从RAD工作区加载每个模块或JAR文件。我建议导出EAR(从RAD或WAS管理控制台),然后在结果上使用createEJBStubs。

答案 1 :(得分:0)

仅供参考,我按照这里的说明创建了一个ANT脚本来构建包含存根的EJB jar:

http://www-01.ibm.com/support/docview.wss?uid=swg21393419