【问题标题】:Can I place all of my EJB deployment descriptors in the META-INF directory of an EAR file, rather than the EJB jar files我能否将所有 EJB 部署描述符放在 EAR 文件的 META-INF 目录中,而不是 EJB jar 文件中
【发布时间】:2012-05-20 02:53:43
【问题描述】:

我有一个以 EAR 文件形式交付的企业应用程序。耳朵内的 META-INF 文件夹包含预期的“application.xml”,以及属于该应用程序的模块列表。

ear 中也有许多 EJB jar 文件,每个文件都包含许多 EJB。由于某些原因,我们希望使用 XML 部署描述符来配置所有 ejb。因此,我们有许多 ejb-jar 文件,每个文件都嵌入到 ear 文件中每个 jar 的 META-INF 文件夹中,如下所示。

EAR_FILE : :-----META-INF : : :-应用程序.xml : : :--------EJB_JAR_1 : : : -META-INF : : :-ejb-jar.xml :--------EJB_JAR_2 : : : -META-INF : : :-ejb-jar.xml :-----EJB_JAR_3 : -META-INF : -ejb-jar.xml

如您所见,这会产生许多单独的 ejb-jar.xml 部署描述符。我们希望能够将其集中到一个部署描述符中,该描述符定义了应用程序中的所有 ejb。

此外,我们希望将单独的 ejb jar 文件保存在耳朵中,而不是将它们全部放在一个耳朵中。

是否可以在包含应用程序中所有 EJB 配置的 ear 文件的 META-INF 文件夹中有一个“主”ejb-jar 文件?

或者甚至可以将 ejb-jar 文件放在包含 EJB 的实际 jar 之外?

归根结底,我真正希望实现的是将所有 ejb 部署描述符集中到某个文件中,而不是像上面那样将它们分布在每个单独的 EJB jar 中?

非常感谢,

戴夫。

【问题讨论】:

    标签: jakarta-ee jboss ejb ejb-3.0


    【解决方案1】:

    或者甚至可以将 ejb-jar 文件放在实际之外 包含 EJB 的 jar?

    是的,但更准确地说:可以在 EJB 模块 JAR 之外拥有 EJB 类。换句话说,你可以用一个ejb-jar.xml创建一个单独的EJB模块,然后把所有的EJB_JAR_1、EJB_JAR_2等放到EAR/lib/目录下,这样就自动让所有的JAR对所有的EJB可见了EAR 中的模块(或者,在您的情况下为单个 EJB 模块)。或者,您可以在 EJB 模块 META-INF/MANIFEST.MF 中手动维护一个 Class-Path: ejb-1.jar ejb-2.jar 列表,但这需要更多工作。

    【讨论】:

      猜你喜欢
      • 2019-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多