Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Упаковка приложений

Приложение Java EE поставляется в виде файла Java Archive (JAR), Web Archive (WAR) или Enterprise Archive (EAR). Файл WAR или EAR — это стандартный файл JAR (.jar), отличающийся от него только расширением .war или .ear. Использование файлов и модулей JAR, WAR и EAR позволяет компоновать различные приложения Java EE из одних и тех же компонентов. Никакого дополнительного кодирования не требуется. Это только вопрос сборки (или упаковки) различных модулей Java EE в файлы JAR, WAR или EAR.

EAR-файл (см. рисунок 5-1) содержит модули Java EE и, необязательно, дескрипторы развёртывания. Дескриптор развёртывания — XML-документ с расширением .xml — описывает параметры развёртывания приложения, модуля или компонента. Поскольку информация дескриптора развёртывания является декларативной, она может быть изменена без необходимости изменения исходного кода. Во время выполнения сервер Java EE считывает дескриптор развёртывания и соответствующим образом конфигурирует приложение, модуль или компонент.

Информация о развёртывании чаще всего указывается в исходном коде аннотациями. Содержимое дескрипторов развёртывания имеет приоритет перед указаниями в исходном коде.

Рисунок 5-1 Структура EAR-файла

Схема структуры EAR-файла. META-INF и модули web, клиентские приложения, EJB и адаптера ресурсов находятся в корневом каталоге сборки.

Существует два типа дескрипторов развёртывания: Java EE и времени выполнения. Дескриптор развёртывания Java EE определяется спецификацией Java EE и может использоваться для настройки параметров развёртывания в любой совместимой с Java EE реализации. Дескриптор развёртывания времени выполнения используется для настройки параметров реализации Java EE. Например, дескриптор развёртывания среды выполнения GlassFish Server содержит такую ​​информацию, как корневой контекст веб-приложения, а также специфичные для реализации параметры GlassFish Server, например директивы кэширования. Дескрипторы развёртывания среды выполнения GlassFish Server имеют имя glassfish-"moduleType".xml и расположены в том же каталоге META-INF, что и дескриптор развёртывания Java EE.

Модуль Java EE состоит из одного или нескольких компонентов Java EE для одного и того же типа контейнера и, необязательно, одного дескриптора развёртывания компонента этого типа. Например, дескриптор развёртывания модуля Enterprise-бина объявляет атрибуты транзакции и полномочия безопасности для Enterprise-бина. Модуль Java EE может быть развёрнут как автономный модуль.

Модули Java EE бывают следующих типов:

  • EJB-модули, которые содержат файлы классов Enterprise-бинов и, необязательно, дескриптор развёртывания EJB. Модули EJB упакованы в JAR-файлы с расширением .jar.

  • Веб-модули, которые содержат файлы классов сервлетов, веб-файлы, файлы вспомогательных классов, файлы GIF и HTML и, при необходимости, дескриптор развёртывания веб-приложения. Веб-модули упакованы в JAR-файлы с расширением .war (веб-архив).

  • Клиентские модули приложения, которые содержат файлы классов и, необязательно, дескриптор развёртывания клиентского приложения. Клиентские модули приложения упакованы в JAR-файлы с расширением .jar.

  • Модули адаптеров ресурсов, содержащие интерфейсы Java, классы, библиотеки и, необязательно, дескриптор развёртывания адаптера ресурса. Вместе они реализуют архитектуру коннекторов (см. Архитектура коннекторов Java EE) для конкретной EIS. Модули адаптера ресурсов упакованы в JAR-файлы с расширением .rar (архив адаптера ресурса).


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)