В чем разница между .war и .ear файлом?
.war vs .ear file
Ответ 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