Golden Earring
- 1 year ago
- 0
- 0
Enterprise Archive ( ear ) — формат файлов, используемый Java EE для упаковки одного или более модулей в одном архиве, чтобы развёртывание различных модулей на сервере приложений происходило одновременно и согласованно. Он также содержит XML-файлы, так называемые дескрипторы развёртывания , которые описывают, как развернуть модули.
Для автоматического создания EAR-файлов могут быть использованы утилиты автоматической сборки проектов, такие как Maven или Apache Ant .
EAR-файл представляет собой стандартный файл
JAR
(который в свою очередь является zip-архивом) c расширением
.ear
. Внутри находятся один или более модулей приложения и каталог метаданных
META-INF
, который содержит один или более дескрипторов развёртывания.
Различные артефакты могут быть встроены в файлы EAR. Артефакты, которые могут быть развёрнуты на сервере приложений:
Большинство серверов приложений загружает EAR как изолированное дерево загрузчиков классов java, изолируя между собой приложения, но разрешая совместное использование для загруженных модулей. Это также дает возможность использования различных версий приложений и библиотек, которые будут развернуты совместно.
С другой стороны, сервер JBoss известен тем, что он не изолирует загруженные компоненты. Веб-приложение в одном EAR может использовать классы других EAR- и WAR-файлов. С версии JBoss 4.0.2 можно использовать также стандартный загрузчик классов.
Каталог META-INF содержит как минимум один дескриптор – application.xml, известный как дескриптор развёртывания ( Java EE Deployment Descriptor ). Он содержит следующие сущности:
<icon>
, объявляет расположение изображений, который представляют приложение.
<display-name>
, идентифицирует имя приложения
<description>
описание приложения
<module>
отдельный элемент для каждого из модулей в архиве
<security-role>
, обозначающий глобальные роли безопасности для приложения.
Каждый элемент
<module>
содержит элемент
<ejb>
,
<web>
или
<java>
, который описывает индивидуальный модуль внутри приложения. Web-модуль также предоставляет
context-root
, который идентифицирует модуль по его
URL
.
Следом за Java EE дескриптором может находиться один или более дескрипторов времени выполнения ( англ. runtime deployment descriptor ). Они используются для конфигурации специфичных для приложения Java EE параметров.