Enterprise Archive ( ear ) es un formato de archivo utilizado por Java EE para empaquetar uno o más módulos en un solo archivo, de modo que diferentes módulos se implementen en un servidor de aplicaciones al mismo tiempo y de manera consistente. También contiene archivos XML, llamados descriptores de implementación , que describen cómo implementar módulos.
Las utilidades de creación automática de proyectos, como Maven o Apache Ant , se pueden utilizar para generar automáticamente archivos EAR .
Un archivo EAR es un archivo JAR estándar (que a su vez es un archivo zip) con una extensión .ear. Dentro hay uno o más módulos de aplicación y un directorio de metadatos META-INF que contiene uno o más descriptores de implementación.
Se pueden incrustar varios artefactos en los archivos EAR. Artefactos que se pueden implementar en el servidor de aplicaciones:
La mayoría de los servidores de aplicaciones cargan el EAR como un árbol aislado de cargadores de clases Java, aislando las aplicaciones entre sí pero permitiendo compartirlas entre los módulos cargados. También permite que se implementen juntas diferentes versiones de aplicaciones y bibliotecas.
Por otro lado, el servidor JBoss es conocido por no aislar los componentes cargados. Una aplicación web en un EAR puede usar clases de otros EAR y WAR. A partir de JBoss 4.0.2, también puede usar el cargador de clases estándar.
El directorio META -INF contiene al menos un descriptor: application.xml, conocido como el descriptor de implementación ( Java EE Descriptor de implementación ). Contiene las siguientes entidades:
Cada elemento <module> contiene un <ejb>, <web> o <java>, que describe un módulo individual dentro de la aplicación. El módulo web también proporciona un context-root, que identifica el módulo por su URL .
Un descriptor de Java EE puede ir seguido de uno o más descriptores de despliegue de tiempo de ejecución . Se utilizan para configurar ajustes específicos de la aplicación Java EE.
formatos de archivo | |
---|---|
Solo archivado | |
Solo compresión | |
Archivado y compresión | |
Empaquetado y distribución de software |