.война против уха файл
в чем разница между .война и. файл уха?
8 ответов:
в приложении J2EE модули упаковываются как ухо, банка и война на основе их функциональности
JAR: Модули EJB, которые содержат корпоративные Java-компоненты (файлы классов) и дескриптор развертывания EJB, упакованы как файлы JAR.банке расширение
войны: Веб-модули, которые содержат файлы классов сервлетов, файлы JSP, вспомогательные файлы, файлы GIF и HTML, упаковываются в файл JAR.война (web архив) расширение
ухо: Все вышеуказанные файлы (.банка и. война) упакованы как файл JAR С.расширение ear (enterprise archive) и развернуто на сервере приложений.
A война (веб-архив) - это модуль, который загружается в веб-контейнер на Java Application Server. Сервер приложений Java имеет два контейнера (среды выполнения) - один является веб-контейнером, а другой-контейнером EJB.
The веб-контейнер размещает веб-приложения на основе JSP или API сервлетов-разработанный специально для обработки веб-запросов-так что больше запрос/ответ стиль распределенных вычислений. Веб-контейнер требует, чтобы веб-модуль был упакован как WAR file - это специальный файл JAR с на
WEB-INF
папка.An контейнер EJB хосты Enterprise java beans на основе API EJB, предназначенного для обеспечения расширенных бизнес-функций, таких как декларативные транзакции, декларативный уровень безопасности метода и многопротокольная поддержка - так что больше RPC стиль распределенных вычислений. Контейнеры EJB требуют, чтобы модули EJB были упакованы как JAR files - это на .
приложений может состоять из одного или нескольких модулей, которые могут быть либо веб-модулями (упакованными в файл WAR), либо модулями EJB (упакованными в файл JAR), либо обоими из них. Корпоративные приложения упаковываются как EAR files - это специальные файлы JAR, содержащие
application.xml
файл в .по сути, EAR files - это суперсет, содержащий файлы войны и JAR files. Серверы приложений Java позволяют развертывать автономные веб-модули в файле WAR, хотя внутри они создают файлы EAR как оболочку вокруг файлов WAR. Автономные веб-контейнеры, такие как котяра и причал не поддерживают файлы EAR-это не полноценные серверы приложений. Сеть приложения в этих контейнерах должны развертываться только как файлы WAR.
в серверах приложений файлы EAR содержат такие конфигурации, как сопоставление ролей безопасности приложений, сопоставление ссылок EJB и сопоставление корневых URL-адресов контекста веб-модулей.
помимо веб-модулей и модулей EJB, файлы EAR также могут содержать модули разъемов, упакованные в файлы RAR, и клиентские модули, упакованные в файлы JAR.
war-web архив. Он используется для развертывания веб-приложений в соответствии со стандартом сервлетов. Это файл jar, содержащий специальный каталог под названием WEB-INF и несколько файлов и каталогов внутри него (web.xml, lib, classes), а также все HTML, JSP, images, CSS, JavaScript и другие ресурсы веб-приложения
ear-архив предприятия. Он используется для развертывания корпоративного приложения, содержащего EJBs, веб-приложения и сторонние библиотеки. Это еще и баночка файл, он имеет специальный каталог под названием APP-INF, который содержит приложение.xml-файл, и он содержит файлы jar и war.
файлы WAR (web archive) содержат файлы классов сервлетов, JSP (Java servlet pages), HTML и графические файлы, а также другие вспомогательные файлы.
файлы EAR (enterprise archive) содержат файлы WAR вместе с файлами JAR, содержащими код.
в этих файлах могут быть и другие вещи, но они в основном предназначены для того, что они звучат так, как будто они означают: война для веб-типа, ухо для корпоративного типа (войны, код, разъемы и т. д.).
см.:http://www.wellho.net/mouth/754_tar-jar-war-ear-sar-files.html
tar (ленточные архивы) - Формат-это файл, написанный на последовательные единицы имя файла, размер файла, данным - никакого сжатия. может быть огромным
Jar (архив java) - используемые методы сжатия - как правило, содержит информацию java, как класс / java файлы. Но может содержать любые файлы и структуру каталогов
война (архивы веб-приложений) - похожие как jar файлы только имейте определенную структуру каталогов в соответствии со спецификацией JSP / Servlet для целей развертывания
ухо (архив предприятия) - похожие, как файлы jar. имейте структуру каталогов, соответствующую требованиям J2EE, чтобы ее можно было развернуть на серверах приложений J2EE. - может содержать несколько файлов JAR и WAR
файлы Ear предоставляют дополнительные параметры для настройки взаимодействия с сервером приложений.
например: если версия hibernate сервера приложений старше версии, предоставленной вашими зависимостями, вы можете добавить следующее в Ear-deployer-jboss-beans.xml для JBOSS, чтобы изолировать загрузчики классов и избежать конфликтов:
<bean name="EARClassLoaderDeployer" class="org.jboss.deployment.EarClassLoaderDeployer"> <property name="isolated">true</property> </bean>
или в src / main/application/META-INF / jboss-app.XML-код :
<?xml version="1.0"?> <jboss-app> <loader-repository> loader=nameofyourear.ear <loader-repository-config>java2ParentDelegation=false</loader-repository-config> </loader-repository> </jboss-app>
Это позволит убедиться, что нет конфликт загрузчика классов между вашим приложением и сервером приложений.
обычно механизм загрузчика классов работает следующим образом:
когда запрос на загрузку класса представляется загрузчику класса, он сначала просит загрузчик родительского класса выполнить запрос. Родитель, в свою очередь просит своего родителя для класса, пока запрос не достигнет вершины иерархии. Если загрузчик классов находится в верхней части иерархии не может выполнить запрос, то ребенок загрузчик классов, который его вызвал отвечает за загрузку класса.
изолируя загрузчики классов, ваш загрузчик классов ear не будет выглядеть в Родительском (=JBoss / other AS classloader). Насколько я знаю, это невозможно с файлами войны.
J2EE определяет три типа архивов:
архивы Java (JAR) файл JAR инкапсулирует один или несколько классов Java, манифест и дескриптор. Файлы JAR - это самый низкий уровень архива. JAR-файлы используются в J2EE для упаковки EJBs и клиентских Java-приложений.
веб-архивы (война) WAR файлы похожи на JAR файлы, за исключением того, что они специально для веб-приложений, сделанных из Сервлеты, JSP и вспомогательные классы.
архив предприятия (ухо) "файл EAR содержит все компоненты, которые составляют конкретное приложение J2EE.
JAR Files
файл JAR (сокращение от Java Archive) позволяет комбинировать несколько файлы в один. Файлы с '.jar'; расширение используется разработчики программного обеспечения для распространения классов Java и различных метаданных. Они также содержат библиотеки и файлы ресурсов, а также вспомогательные файлы (например, файлы свойств).
пользователи могут извлекать и создавать файлы JAR с помощью Java Development Kit (версия JDK.' )команда Джара. ZIP инструменты также могут быть используемый.
файлы JAR имеют необязательные файлы манифеста. Записи в файле манифеста предписывают использовать jar-файл по. Спецификация класса 'main' для класса file обозначает файл как отдельную или "автономную" программу.
файлы войны
файлы WAR (или архив веб-приложений) могут содержать XML (extensible Markup Language) файлы, классы Java, а также сервер Java страницы для целей интернет-приложения. Оно также использован к отметка библиотеки и веб-страницы, которые составляют веб-приложение. Файлы с этот.‘ расширение war ' содержит веб-приложение для использования с сервером или JSP (Java Серверная страница) контейнеры. Он имеет JSP, HTML (гипертекстовая разметка Язык), JavaScript и различные файлы для создания вышеупомянутых Веб-приложения.
файл войны структурирован таким образом, чтобы обеспечить специальные каталоги и файлы. Он также может иметь цифровую подпись (так же, как и файл JAR) чтобы показать правдивость код.
EAR Files
файл EAR (Enterprise Archive) объединяет файлы JAR и WAR в a единый архив. Эти файлы с ‘.расширение уха есть каталог для метаданные. Модули упакованы в на архив для ровного и одновременная работа различных модулей в пределах сервера приложений.
файл EAR также имеет дескрипторы развертывания (которые являются XML-файлами) которые эффективно диктуют развертывание различных модули.