EAR

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

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

Структура файла

[править | править код]

EAR-файл представляет собой стандартный файл JAR с .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 – элементы для ролей безопасности в архиве.