题
我刚刚开始阅读EJB。
即使我冒险进入它,我也有一些问题,基于我对它们的了解。
- 使用EJB的应用程序是否总是必须作为耳朵部署?
- 可以像其他使用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完成。
这里 是一个做到这一点的教程.
进一步阅读
不隶属于 StackOverflow