Відповіді:
З GeekInterview :
У додатку J2EE модулі пакуються як EAR, JAR та WAR на основі їх функціональності
JAR: Модулі EJB, які містять файли Java Java (файли класів) та дескриптор розгортання EJB, упаковуються у вигляді файлів JAR з розширенням .jar
ВІЙНА: Веб-модулі, що містять файли класу Servlet, файли JSP, допоміжні файли, файли GIF та HTML, упаковуються у вигляді файлу JAR з розширенням .war (веб-архів)
EAR: Усі вищезазначені файли (.jar та .war) упаковуються у вигляді файлу JAR з розширенням .ear (корпоративний архів) та розгортаються у сервері прикладних програм.
WAR (Web Archive) являє собою модуль , який завантажується в веб - контейнер у вигляді Application Server Java . Сервер додатків Java має два контейнери (середовища виконання) - один - контейнер Web, а другий - контейнер EJB.
У веб-контейнері розміщені веб-програми, засновані на JSP або API сервлетів - розроблені спеціально для обробки веб-запитів - так більше стиль запиту / відповіді розподілених обчислень . Веб-контейнер вимагає упаковки веб-модуля у вигляді файлу WAR - це спеціальний файл JAR з web.xml
файлом у WEB-INF
папці.
У контейнері EJB розміщуються Java-боби Enterprise на основі API EJB, розроблені для забезпечення розширеної бізнес-функціональності, такої як декларативні транзакції, захист рівня декларативного методу та підтримка мультипротоколу - так більше стилю RPC розподілених обчислень . Контейнери EJB вимагають упаковки модулів EJB у вигляді файлів JAR - вони мають ejb-jar.xml
файл у META-INF
папці.
Корпоративні програми можуть складатися з одного або декількох модулів, які можуть бути або веб-модулями (упакованими у вигляді файлу WAR), модулями EJB (упакованими у вигляді файлу JAR) або обома ними. Корпоративні програми упаковуються у вигляді файлів EAR - це спеціальні файли JAR, що містять application.xml
файл у META-INF
папці.
Фактично, файли EAR - це суперсеть, що містить файли WAR та файли JAR . Сервери додатків Java дозволяють розгортати окремі веб-модулі у файлі WAR, хоча вони внутрішньо створюють файли EAR як обгортку навколо файлів WAR. Автономні веб-контейнери, такі як Tomcat та Jetty , не підтримують файли EAR - це не повноцінні сервери додатків. Веб-програми в цих контейнерах мають бути розгорнуті лише у форматі WAR.
На серверах прикладних програм файли EAR містять такі конфігурації, як відображення ролей у захисті додатків, відображення посилань EJB та відображення кореневих URL-адрес корінних веб-модулів.
Крім веб-модулів та модулів EJB, файли EAR також можуть містити з'єднувальні модулі, упаковані у вигляді файлів RAR, та клієнтські модулі, упаковані у вигляді файлів JAR.
.jar
, .war
і .ear
файли прості поштові архіви, таким чином , може бути відкрита будь-яка програма , яка може обробляти звичайні файли .zip.
war - веб-архів. Він використовується для розгортання веб-додатків відповідно до стандарту сервлетів. Це jar-файл, що містить спеціальний каталог під назвою WEB-INF та декілька файлів і каталогів всередині нього (web.xml, lib, класів), а також усі HTML, JSP, зображення, CSS, JavaScript та інші ресурси веб-програми
вухо - архів підприємств. Він використовується для розгортання корпоративного додатка, що містить EJB, веб-додатки та сторонні бібліотеки. Це також jar-файл, у ньому є спеціальний каталог під назвою APP-INF, який містить файл application.xml, і він містить файли jar та war.
Файли WAR (веб-архіву) містять файли класу сервлетів, JSP (сторінки сервлетів Java), HTML та графічні файли та інші підтримуючі файли.
Файли EAR (архів підприємств) містять файли WAR разом з файлами JAR, що містять код.
У цих файлах можуть бути й інші речі, але вони в основному призначені для того, що вони звучать так, як вони означають: ВІЙНА для матеріалів веб-типу, EAR для речей типу корпоративного типу (WARs, code, connectors тощо).
Файли JAR
Файл JAR (короткий для Java Archive) дозволяє поєднувати кілька файлів в один. Файли з '.jar'; розширення використовуються розробниками програмного забезпечення для розповсюдження Java-класів та різних метаданих. Вони також містять бібліотеки та файли ресурсів, а також файли аксесуарів (наприклад, файли властивостей).
Користувачі можуть витягувати та створювати файли JAR за допомогою команди ".jar" Java Development Kit (JDK). Також можуть використовуватися інструменти ZIP.
Файли JAR мають додаткові файли маніфестів. Записи у файлі маніфесту визначають використання файлу JAR. Основна специфікація класу файлів позначає файл як окрему або «окрему» програму.
Файли війни
Файли WAR (або архіву веб-додатків) можуть містити файли XML (розширювана мова розмітки), класи Java, а також сторінки сервера Java для цілей Інтернет-додатків. Він також використовується для маркування бібліотек та веб-сторінок, які складають веб-додаток. Файли з розширенням '.war' містять веб-додаток для використання із серверами або контейнерами JSP (Java Server Page). Він має JSP, HTML (мова розмітки гіпертексту), JavaScript та різні файли для створення вищезгаданих веб-додатків.
Файл WAR структурований як такий, щоб створити спеціальні каталоги та файли. Він також може мати цифровий підпис (подібний до файлу JAR), щоб показати правдивість коду.
Файли EAR
Файл EAR (Enterprise Archive) об'єднує файли JAR і WAR в єдиний архів. Ці файли з розширенням '.ear' мають каталог метаданих. Модулі упаковані в архів для плавної та одночасної роботи різних модулів на сервері додатків.
У файлі EAR також є дескриптори розгортання (це файли XML), які ефективно диктують розгортання різних модулів.
Посилання: http://www.wellho.net/mouth/754_tar-jar-war-ear-sar-files.html
tar (стрічковий архів) - Формат, що використовується, - це файл, записаний у послідовних одиницях fileName, fileSize, fileData - без стиснення. може бути величезним
Jar (архів java) - використовувані методи стиснення - зазвичай містять інформацію Java, наприклад, файли класу / java. Але може містити будь-які файли та структуру каталогів
war (архіви веб-додатків) - подібні файли jar мають лише специфічну структуру каталогів відповідно до специфікації JSP / Servlet для розгортання
вухо (корпоративний архів) - схожий на файли jar. мати структуру каталогів, що відповідає вимогам J2EE, щоб її можна було розгорнути на серверах прикладних програм J2EE. - може містити кілька файлів JAR та WAR
Вушні файли надають більше варіантів налаштування взаємодії з сервером додатків.
Наприклад: якщо спляча версія сервера додатків є старшою, ніж надана вашими залежностями, ви можете додати наступне в ear-exploler-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>
Це дозволить переконатися, що між вашою програмою та сервером додатків немає конфлікту між завантажувачем.
Зазвичай механізм завантажувача класів працює так:
Коли запит на завантаження класу подається завантажувачу класу, він спочатку просить його батьківський завантажувач класів виконати запит. Батько, у свою чергу, запитує свого батька для класу, поки запит не досягне вершини ієрархії. Якщо завантажувач класів у верхній частині ієрархії не може виконати запит, то за завантаження класу відповідає відповідальний завантажувач класів, який його назвав.
Виділяючи завантажувачі класів, ваш вуховий навантажувач не буде виглядати у батьківському (= JBoss / інший AS-завантажувач). Наскільки я знаю, це неможливо з файлами війни.
J2EE визначає три типи архівів:
Архів Java (JAR) Файл JAR інкапсулює один або декілька класів Java, маніфест та дескриптор. Файли JAR - це найнижчий рівень архіву. Файли JAR використовуються в J2EE для упаковки EJB та Java-додатків на стороні клієнта.
Файли WAR веб-архівів (WAR) схожі на файли JAR, за винятком того, що вони призначені спеціально для веб-додатків із сервлетів, JSP та підтримуючих класів.
Архів підприємств (EAR) ”Файл EAR містить усі компоненти, що складають певну програму J2EE.
Щоб перевезти проект, розгортання стало легшим. потрібно стиснути в один файл. Група JAR (архів Java) файлів .class файлів
ВІЙНА (веб-архів) - кожна війна являє собою один веб-додаток - можна використовувати лише ті веб-технології, як сервлет, jsps. - може працювати на сервері Tomcat - веб-додаток, розроблений тільки з веб-пов'язаними технологіями jsp сервлет html js - інформаційне представлення лише без транзакцій.
EAR (корпоративний архів) - кожне вухо представляє одну корпоративну програму - ми можемо використовувати будь-що з j2ee, наприклад ejb, jms може бути щасливим. - може працювати на Glassfish як сервер, а не на сервері Tomcat. - корпоративна програма, розроблена будь-якою технологією, що-небудь від j2ee, як і всі веб-програми плюс ejbs jms тощо - робить транзакції з поданням інформації. напр. Банківська програма, додаток Telecom
.JAR, .WAR and .EAR
ви також можете ознайомитись з відеоуроком. Це дуже просто або більш зрозуміло. Він пояснить , що це різниця між .JAR, .WAR і .ear відео - підручник : різниця між .JAR, .WAR і .ear