EAR

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Enterprise Archive (ear) — формат файлов, используемый Java EE для упаковки одного или более модулей в одном архиве, чтобы развёртывание различных модулей на сервере приложений происходило одновременно и согласованно. Он также содержит XML-файлы, называемые дескрипторы развертывания, которые описывают, как развернуть модули.

Для автоматического создания EAR-файлов могут быть использованы утилиты автоматической сборки проектов, как Maven или Apache Ant.

Структура файла[править | править вики-текст]

EAR-файл представляет собой стандартный файл JAR (а таким образом, zip-архив) c расширением .ear . Внутри находятся один или более модули приложения и каталог метаданных META-INF, который содержит один или более дескрипторов развертывания.

Модули[править | править вики-текст]

Различные артефакты могут быть встроены в файлы EAR. Артефакты, которые могут быть развернуты на сервере приложений:

  • Модуль веб, который имеет .war расширение. Это развертываемый модуль, который состоит из одного или нескольких веб-компонентов, других ресурсов и дескриптора развертывания. Веб-модуль содержит иерархию каталогов и файлов в стандартном формате для веб-приложений.
  • POJO Java-классы могут быть в .JAR-файлах.
  • Enterprise JavaBeans модули с расширением .jar, содержащие в своем собственном META-INF каталоге дескрипторы.
  • Адаптер ресурсов модуля, который имеет .RAR-расширение.

Изоляция классов[править | править вики-текст]

Большинство серверов приложений загружает EAR как изолированное дерево загрузчиков классов java, изолируя между собой приложения, но разрешая совместное использование для загруженных модулей. Это также дает возможность использования различных версий приложений и библиотек, которые будут развернуты совместно.

С другой стороны сервер JBoss известен тем, что он не изолирует загруженные компоненты. Веб-приложение в одном EAR может использовать классы других EAR- и WAR-файлов. С версии JBoss 4.0.2 можно использовать также стандартный загрузчик классов.

Директория META-INF[править | править вики-текст]

Директория 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 параметров.

См. также[править | править вики-текст]

Ресурсы[править | править вики-текст]