1. Всегда ли приложения, использующие ejb, должны развертываться как EAR?
No.
Модуль EJB собран в JAR, давайте назовем его myapp-ejb.jar в качестве соглашения об именах.
Он содержит код EJB, а также файл дескриптора развертывания с именем ejb-jar.xml в EJB 2.x. В EJB 3.0 сам код содержит аннотации, необходимые серверу для понимания при развертывании, поэтому дескрипторы развертывания необязательны. Дескриптор/аннотации развертывания охватывают базовые вещи, необходимые для развертывания EJB, такие как JNDI, поиск DataSource и т. д.
Набор из нескольких модулей EJB и других веб-модулей (войны) вместе составляет EAR. Как указал @Isaac, EAR не обязательно должен включать в себя какой-либо файл WAR. Единственным условием для файла EAR является наличие хотя бы одного модуля J2EE любого типа.
Для EAR требуется META-INF/application.xml
, в котором перечислены все JAR-файлы и войны EJB, присутствующие в EAR. Таким образом, вы выбираете EAR, когда у вас есть несколько модулей EJB, что обычно и происходит, поэтому обычное развертывание - это EAR.
Ниже показан пример этого файла, взятого с 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. Могут ли приложения, содержащие EJB, быть развернуты так же, как и другие веб-проекты Java с использованием ECLIPSE и без использования ANT.
Да, после сборки EAR/JAR его можно развернуть на сервере (при желании через Eclipse).
Ant — это инструмент сборки, который не имеет ничего общего с фактическим развертыванием кода EJB. Он используется для компиляции и сборки JAR, что также можно сделать из Eclipse.
Вот руководство, которое делает именно это.
Дополнительная литература
Упаковка приложений
Упаковка приложений EJB3
person
JoseK
schedule
13.10.2010