EAR (format de fichier)EAR (Enterprise Application Archive)
Un EAR (pour Enterprise Application ARchive) est un format de fichier utilisé par Java EE pour empaqueter (en) un ou plusieurs modules dans une seule archive, de façon à pouvoir déployer ces modules sur un serveur d'applications en une seule opération, et de façon cohérente. Dans ces archives, le répertoire META-INF contient les fichiers descripteurs de déploiement (en) au format XML, qui indiquent comment les modules doivent être déployés sur le serveur. Structure du fichierUn fichier EAR est un JAR standard, dont l'extension a été changée en .ear. Il contient un ou plusieurs répertoires contenant les modules de l'application, ainsi qu'un répertoire Les modulesDifférents éléments peuvent être contenus dans un fichier EAR, pour être déployés sur le serveur :
Isolement des classesLa plupart des serveurs d'application chargent les classes d'un EAR par un arbre de classloaders isolant les exécutions des applications entre elles, mais permettant le partage des classes entre les modules à l'intérieur de l'application elle-même. Ainsi, un code présent dans un JAR pourra être utilisé par toutes les webapps de l'application, mais pas par celles déployées depuis un autre EAR. Une des raisons les plus importantes expliquant cet isolement est de permettre la séparation complète entre applications qui utilisent des singletons statiques (par exemple ceux présents dans Log4J, souvent inclus dans les applications). Cette séparation évite que des configurations statiques se mélangent. Une autre raison pratique est de permettre l'utilisation de différentes versions d'une même bibliothèque dans des applications déployées sur le même serveur.
Le répertoire META-INFCe répertoire contient au moins le fichier de description de déploiement
Chaque balise En plus de ce descripteur de déploiement peuvent se trouver un ou plusieurs descripteurs d'exécution spécifiant des paramètres additionnels à utiliser lors de l'exécution de la JVM. Voir aussiNotes et références
Liens externes |