您好我在Servlet中调用Enterprise Bean(来自EJB容器)(在Web容器中)。
我收到以下错误:
remote interface must be stored in separate ejb client jar in order to reference
我的项目结构如下:
======= EE APPLICATION(EJB和WEB)========
======= EJB CONATINER ========
======= WEB CONATINER ========
了解错误消息我的Web容器应该包含一个jar文件,其中包含我想要调用的EJB Bean的接口定义(StringProvider)。但我已经将这种依赖包含在WebContainer中。错误仍然显示出来。
==== INDEX SERVLET =====
==== AND STILL ERROR APPEAR =====
我做错了什么?任何人都可以帮助解决这个问题。我会很乐意帮助
答案 0 :(得分:0)
当您创建WAR和EJB文件并将它们存储在Enterprise Archive中时,NetBeans表示,如果将远程接口与EJB本身保持在同一个项目中,则会遇到潜在问题。
NetBeans告诉您必须将远程EJB引用放入一个单独的JAR文件中,然后EJB和WAR项目都可以引用它。
如果你这样做,那么问题就会消失,你将能够正确引用EJB。
根据您的需要,您可能更容易使用本地接口并将EJB放在WAR文件中。然后,您将不必拥有包含远程接口的单独JAR文件。这显然取决于您是否需要将EJB和WAR文件分离到EAR中。