我刚刚开始阅读EJB。

即使我冒险进入它,我也有一些问题,基于我对它们的了解。

  1. 使用EJB的应用程序是否总是必须作为耳朵部署?
  2. 可以像其他使用Eclipse一样,不使用ANT的其他Java Web项目来部署包含EJB的应用程序吗?
有帮助吗?

解决方案

1.使用EJB的应用程序总是必须部署为EAR吗?

不。

将EJB模块组装成一个罐子中,我们将其称为myapp-ejb.jar作为命名约定。

其中包含EJB代码以及EJB 2.x中的ejb-jar.xml的部署描述符文件。在EJB 3.0中,代码本身包含服务器所需的解释以了解部署所需的注释,因此部署描述符是可选的。部署描述符/注释涵盖了EJB部署所需的基本内容,例如JNDI,DataSource查找等。

多个EJB模块和其他Web模块(WAR)的集合在一起 耳朵. 。正如@isaac指出的那样,耳朵不必在其中包含任何战争文件。耳文件的唯一条件是至少包含任何类型的J2EE模块。

耳朵需要一个 META-INF/application.xml 它列出了耳朵中存在的所有EJB罐子和战争。因此,当您有多个EJB模块时,您会听到耳朵,因此通常的部署是耳朵。

该文件的一个示例如下所示 http://download.oracle.com/docs/cd/b32110_01/web.1013/b28221/undejdev003.htm. 。这是您阅读的好文章。

<application>
  <display-name>master-application</display-name>
  <module>
    <ejb>ejb1.jar</ejb>
  </module>
  <module>
    <ejb>ejb2.jar</ejb>
  </module>
  <module>
    <java>appclient.jar</java>
  </module>
  <module>
    <web>
        <web-uri>clientweb.war</web-uri>
        <context-root>webapp</context-root>
    </web>
  </module>
  <module>
    <ejb>ejb3.jar</ejb>
  </module>

2.可以像其他使用Eclipse一样,不使用ANT的其他Java Web项目来部署包含EJB的应用程序

是的,一旦组装了耳朵/罐子,就可以将其部署到服务器中(如果需要的话,可以通过Eclipse)。

ANT是一种构建工具,与EJB代码的实际部署无关。它用于编译和组装罐子 - 也可以从Eclipse完成。

这里 是一个做到这一点的教程.

进一步阅读

包装应用程序

包装EJB3应用程序

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top