.war vs .ear file

В чем разница между .war и .ear файлом?

Ответ 1

От GeekInterview:

В приложении J2EE модули упаковываются как EAR, JAR и WAR на основе их функциональности

JAR: Модули EJB, содержащие корпоративные java beans (файлы классов) и дескриптор развертывания EJB, упаковываются в виде файлов JAR с расширением .jar extenstion

WAR: Веб-модули, содержащие файлы классов Servlet, файлы JSP, поддерживающие файлы, файлы GIF и HTML, упаковываются в виде файла JAR с расширением .war(web archive)

EAR: Все вышеприведенные файлы (.jar и .war) упакованы в виде файла JAR с расширением .ear(корпоративный архив) и развертываются на сервере приложений.

Ответ 2

A WAR (веб-архив) - это модуль, который загружается в веб-контейнер Java Application Server. Сервер приложений Java имеет два контейнера (среды выполнения): один представляет собой веб-контейнер, а другой - контейнер EJB.

Веб-контейнер размещает веб-приложения на основе JSP или API Servlets, разработанные специально для обработки веб-запросов, - так что это больше для стиля запросов/ответов распределенных вычислений. Веб-контейнер требует, чтобы веб-модуль был упакован как файл WAR - это специальный JAR файл с файлом web.xml в папке WEB-INF.

Консоль EJB: хост Enterprise java beans на основе API EJB, разработанный для обеспечения расширенных бизнес-функций, таких как декларативные транзакции, уровень декларативного уровня и многопротокольная поддержка - поэтому более стиль RPC распределенных вычислений. Контейнеры EJB требуют, чтобы модули EJB были упакованы как файлы JAR - в файле META-INF есть файл ejb-jar.xml.

Корпоративные приложения могут состоять из одного или нескольких модулей, которые могут быть либо Web-модулями (упакованными как WAR файл), либо EJB-модулями (упакованными как JAR файл), либо их обоими. Корпоративные приложения упакованы как файлы EAR - это специальные файлы JAR, содержащие файл application.xml в папке META-INF.

В основном файлы EAR - это надмножество, содержащее файлы WAR и файлы JAR. Java-серверы приложений позволяют развертывать автономные веб-модули в WAR файле, хотя внутри они создают файлы EAR в качестве обертки вокруг файлов WAR. Автономные веб-контейнеры, такие как Tomcat и Jetty, не поддерживают файлы EAR - это не полноценные серверы приложений. Веб-приложения в этих контейнерах должны быть развернуты только как файлы WAR.

В серверах приложений - файлы EAR содержат такие конфигурации, как сопоставление ролей безопасности приложений, сопоставление ссылок EJB и отображение URL-адресов корневого URL-адреса веб-модулей.

Помимо модулей Web и модулей EJB, файлы EAR могут также содержать модули соединителей, упакованные как файлы RAR и клиентские модули, упакованные как файлы JAR.

Ответ 3

war - веб-архив. Он используется для развертывания веб-приложений в соответствии со стандартом сервлета. Это файл jar, содержащий специальный каталог WEB-INF и несколько файлов и каталогов внутри него (web.xml, lib, classes), а также все HTML, JSP, изображения, CSS, JavaScript и другие ресурсы веб-приложения

ear - корпоративный архив. Он используется для развертывания корпоративного приложения, содержащего EJB, веб-приложения и сторонние библиотеки. Это также файл jar, он имеет специальный каталог под названием APP-INF, который содержит файл application.xml, и содержит файлы jar и war.

Ответ 4

Файлы

WAR (веб-архив) содержат файлы классов сервлетов, JSP (страницы сервлетов Java), HTML и графические файлы и другие поддерживающие файлы.

Файлы EAR (корпоративный архив) содержат файлы WAR вместе с файлами JAR, содержащими код.

В этих файлах могут быть и другие вещи, но в основном они означают, что они звучат так: WAR для материалов веб-типа, EAR для объектов корпоративного типа (WARs, code, connector и др.).

Ответ 5

Refer: http://www.wellho.net/mouth/754_tar-jar-war-ear-sar-files.html

tar (ленточные архивы) - Используемый формат - это файл, записанный в последовательных единицах fileName, fileSize, fileData - без сжатия. может быть огромным

Jar (java-архив) - применяемые методы сжатия - обычно содержит java-информацию, такую ​​как файлы class/java. Но может содержать любые файлы и структуру каталогов

война (архивы веб-приложений) - аналогичные файлы jar имеют только определенную структуру каталогов в соответствии с спецификацией JSP/Servlet для целей развертывания

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

Ответ 6

Ушные файлы предоставляют больше возможностей для настройки взаимодействия с сервером приложений.

Например: если версия спящего режима сервера приложений старше, чем предоставленная вашими зависимостями, вы можете добавить следующее: ухо-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> 

Это позволит убедиться, что между приложением и сервером приложений нет конфликта загрузчика классов.

Обычно механизм загрузчика классов работает следующим образом:

Когда запрос загрузки класса представлен загрузчику класса, он сначала запрашивает загрузчик родительского класса для выполнения запроса. Родитель, в turn, запрашивает родителя для класса, пока запрос не достигнет вершины иерархии. Если загрузчик классов находится в верхней части иерархии не может выполнить запрос, затем загрузчик дочерних классов, который его вызвал отвечает за загрузку класса.

Выделяя загрузчики классов, ваш укладчик классов уха не будет выглядеть в родительском (= JBoss/другом AS-загрузчике). Насколько мне известно, это невозможно с военными файлами.

Ответ 7

J2EE определяет три типа архивов:

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

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

  • Корпоративные архивы (EAR) "Файл EAR содержит все компоненты, составляющие конкретное приложение J2EE.

Ответ 8

Чтобы узнать больше о .JAR, .WAR and .EAR Вы также можете посмотреть видео-учебник.

Это очень просто или понятно. Он объяснит, что такое разница между .JAR,.WAR и .EAR

Видеоурок: Разница между .JAR,.WAR и .EAR