Archivo .war vs .ear

Resuelto ria asked hace 15 años • 9 respuestas

¿Cuál es la diferencia entre un archivo .war y .ear?

ria avatar Oct 20 '09 20:10 ria
Aceptado

Un WAR (Web Archive) es un módulo que se carga en un contenedor web de un servidor de aplicaciones Java . Un servidor de aplicaciones Java tiene dos contenedores (entornos de ejecución): uno es un contenedor web y el otro es un contenedor EJB.

El contenedor web aloja aplicaciones web basadas en JSP o Servlets API, diseñadas específicamente para el manejo de solicitudes web, por lo que es más un estilo de solicitud/respuesta de computación distribuida . Un contenedor web requiere que el módulo web esté empaquetado como un archivo WAR , es decir, un archivo JAR especial con un web.xmlarchivo en la WEB-INFcarpeta.

Un contenedor EJB aloja Enterprise Java Beans basados ​​en la API EJB diseñada para proporcionar funcionalidad empresarial extendida, como transacciones declarativas, seguridad a nivel de método declarativo y soporte multiprotocolo, es decir, más bien un estilo RPC de computación distribuida . Los contenedores EJB requieren que los módulos EJB se empaqueten como archivos JAR ; estos tienen un ejb-jar.xmlarchivo en la META-INFcarpeta.

Las aplicaciones empresariales pueden constar de uno o más módulos que pueden ser módulos web (empaquetados como un archivo WAR), módulos EJB (empaquetados como un archivo JAR) o ambos. Las aplicaciones empresariales se empaquetan como archivos EAR : son archivos JAR especiales que contienen un application.xmlarchivo en la META-INFcarpeta.

Básicamente, los archivos EAR son un superconjunto que contiene archivos WAR y archivos JAR . Los servidores de aplicaciones Java permiten la implementación de módulos web independientes en un archivo WAR, aunque internamente crean archivos EAR como un contenedor para archivos WAR. Los contenedores web independientes como Tomcat y Jetty no admiten archivos EAR; no son servidores de aplicaciones completos. Las aplicaciones web en estos contenedores deben implementarse únicamente como archivos WAR.

En los servidores de aplicaciones, los archivos EAR contienen configuraciones tales como asignación de roles de seguridad de aplicaciones, asignación de referencias EJB y asignación de URL raíz de contexto de módulos web.

Además de los módulos web y los módulos EJB, los archivos EAR también pueden contener módulos de conector empaquetados como archivos RAR y módulos de cliente empaquetados como archivos JAR.

Rutesh Makhijani avatar Oct 20 '2009 13:10 Rutesh Makhijani

De GeekInterview :

En la aplicación J2EE, los módulos se empaquetan como EAR, JAR y WAR según su funcionalidad.

JAR: los módulos EJB que contienen Enterprise Java Beans (archivos de clase) y el descriptor de implementación EJB están empaquetados como archivos JAR con extensión .jar.

WAR: los módulos web que contienen archivos de clase Servlet, archivos JSP, archivos de soporte, archivos GIF y HTML están empaquetados como un archivo JAR con extensión .war (archivo web)

EAR: Todos los archivos anteriores (.jar y .war) se empaquetan como un archivo JAR con extensión .ear (archivo empresarial) y se implementan en Application Server.

elhoim avatar Oct 20 '2009 13:10 elhoim

guerra - archivo web. Se utiliza para implementar aplicaciones web según el estándar de servlet. Es un archivo jar que contiene un directorio especial llamado WEB-INF y varios archivos y directorios dentro de él (web.xml, lib, clases), así como todos los HTML, JSP, imágenes, CSS, JavaScript y otros recursos de la aplicación web.

oído - archivo empresarial. Se utiliza para implementar aplicaciones empresariales que contienen EJB, aplicaciones web y bibliotecas de terceros. También es un archivo jar, tiene un directorio especial llamado APP-INF que contiene el archivo application.xml y contiene archivos jar y war.

David Rabinowitz avatar Oct 20 '2009 13:10 David Rabinowitz

Los archivos WAR (archivo web) contienen archivos de clase de servlet, JSP (páginas de servlet Java), archivos HTML y gráficos, y otros archivos de soporte.

Los archivos EAR (archivo empresarial) contienen los archivos WAR junto con los archivos JAR que contienen código.

Puede haber otras cosas en esos archivos, pero básicamente están destinados a lo que parecen significar: WAR para cosas de tipo web, EAR para cosas de tipo empresarial (WAR, código, conectores, etc.).

paxdiablo avatar Oct 20 '2009 13:10 paxdiablo