JBoss 6 - 在war包中部署ejb
我正在尝试使用新的 EJB3.1 功能,可以在其中部署打包在 .war 文件中的 EJB。
我使用 Maven 2.2.1 打包 EJB 模块,然后将 ejb jar 放入 war 模块中(作为依赖项)。最终的war包含一个简单的web.xml,没有任何内容,以及lib目录下的ejb jar库。然而,尽管应用程序部署正确,但容器无法识别带注释的 ejb (@Stateless)。我没有 ejb-jar.xml 描述符(我相信它在 EJB3 中是可选的)。
如果我单独部署 ejb jar(通过将其放入 JBoss 中的部署目录中),它会被部署并分配一个 jndi 名称。
我在这里错过了什么吗?
I am trying to use the new EJB3.1 feature where one can deploy an EJB packaged within a .war file.
I am using Maven 2.2.1 to package the EJB module and then dropping the ejb jar in a war module (as a dependency). The final war contains a simple web.xml with no content, and the ejb jar library in the lib directory. However, though the application is deployed correctly, the annotated ejb (@Stateless) is not recognized by the container. I have no ejb-jar.xml descriptor (which I believe is optional in EJB3).
If I deploy the ejb jar on its own (by dropping it in the deploy directory in JBoss) it is deployed an assigned a jndi name.
Am I missing something here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现这个问题。我的 web.xml 是 2.4 版本:
但是,对于要在 war 包中部署的 EJB,它至少需要是 3.0:
这主要是因为我使用 J2EE Maven 原型创建 war 模块。
I found the problem on this one. My web.xml was 2.4 version:
However, for EJBs to be deployed in war packages, it needs to be 3.0 at least:
This was mainly due to the fact that I was creating my war module with a J2EE Maven archetype.