【问题标题】:JBoss 6 - Deploy ejb in war packagingJBoss 6 - 在战争包装中部署 ejb
【发布时间】:2011-07-09 22:46:35
【问题描述】:

我正在尝试使用新的 EJB3.1 功能,可以在其中部署打包在 .war 文件中的 EJB。

我正在使用 Maven 2.2.1 打包 EJB 模块,然后将 ejb jar 放入 war 模块中(作为依赖项)。最终的战争包含一个没有内容的简单 web.xml,以及 lib 目录中的 ejb jar 库。但是,尽管应用程序已正确部署,但容器无法识别带注释的 ejb (@Stateless)。我没有 ejb-jar.xml 描述符(我相信它在 EJB3 中是可选的)。

如果我自己部署 ejb jar(通过将其放在 JBoss 的部署目录中),它会部署一个分配的 jndi 名称。

我错过了什么吗?

【问题讨论】:

    标签: jboss jakarta-ee war ejb-3.1 jboss6.x


    【解决方案1】:

    我发现了这个问题。我的 web.xml 是 2.4 版本:

    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
      version="2.4">
    

    但是,要在 war 包中部署 EJB,它至少需要为 3.0:

    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
          version="3.0">
    

    这主要是因为我使用 J2EE Maven 原型创建我的战争模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      • 2014-06-18
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多