.война против уха файл


в чем разница между .война и. файл уха?

8 491

8 ответов:

с GeekInterview:

в приложении 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 определяет три типа архивов:

  1. архивы Java (JAR) файл JAR инкапсулирует один или несколько классов Java, манифест и дескриптор. Файлы JAR - это самый низкий уровень архива. JAR-файлы используются в J2EE для упаковки EJBs и клиентских Java-приложений.

  2. веб-архивы (война) WAR файлы похожи на JAR файлы, за исключением того, что они специально для веб-приложений, сделанных из Сервлеты, JSP и вспомогательные классы.

  3. архив предприятия (ухо) "файл 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-файлами) которые эффективно диктуют развертывание различных модули.

enter image description here