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 параметров.
См. также
- Программное обеспечение предприятия
- WAR (Sun file format)
- JAR (file format)
- JAR hell
- Дескриптор развёртывания
Ресурсы
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.