.war vs. ear file

Jaka jest różnica między a .wojny i .Pilnik do uszu?

Author: Mahozad, 2009-10-20

8 answers

From GeekInterview :

W aplikacji J2EE moduły są pakowane jako EAR, JAR i WAR w oparciu o ich funkcjonalność

JAR: Moduły EJB zawierające enterprise java beans (pliki klasowe) i deskryptor wdrażania EJB są pakowane jako pliki JAR .przedłużanie słoików

Wojna: Moduły internetowe zawierające pliki klasy Servlet, pliki JSP, pliki pomocnicze, pliki GIF i HTML są pakowane jako plik JAR .war (web archive) extension

Ucho: Wszystkie powyższe pliki (.jar i .war) są pakowane jako plik JAR z .rozszerzenie ear (enterprise archive) i wdrożone na serwerze aplikacji.

 451
Author: elhoim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-18 13:11:49

A WAR (Web Archive) {[8] } jest modułem, który ładuje się do Web container z Java Application Server. Serwer aplikacji Java ma dwa kontenery (środowiska uruchomieniowe) - jeden jest kontenerem webowym, a drugi jest kontenerem EJB.

Web container obsługuje aplikacje internetowe oparte na JSP lub API Servlets-zaprojektowane specjalnie do obsługi żądań internetowych - więc bardziej request/response style rozproszonego computing . Kontener sieci Web wymaga, aby moduł sieci Web był pakowany jako plik WAR - jest to specjalny plik JAR z plikiem web.xml w folderze WEB-INF.

Kontener EJB obsługuje Enterprise java beans oparty na interfejsie API EJB, zaprojektowany w celu zapewnienia rozszerzonej funkcjonalności biznesowej, takiej jak transakcje deklaratywne, bezpieczeństwo na poziomie metod deklaratywnych i obsługa wielu zabezpieczeń - więc bardziej w stylu RPC rozproszonego przetwarzania. Kontenery EJB wymagają modułów EJB do być pakowane jako pliki JAR - mają one plik ejb-jar.xml w folderze META-INF.

Aplikacje korporacyjne mogą składać się z jednego lub więcej modułów, które mogą być albo modułami sieciowymi (pakowanymi jako plik WAR), modułami EJB (pakowanymi jako plik JAR), albo obydwoma. Aplikacje korporacyjne są pakowane jako Pliki EAR ― są to specjalne pliki JAR zawierające plik application.xml w folderze META-INF.

Zasadniczo Pliki uszu są supersetem zawierającym wojnę pliki i pliki JAR. Serwery aplikacji Java pozwalają na wdrożenie samodzielnych modułów internetowych w pliku wojny, choć wewnętrznie, tworzą pliki EAR jako owijka wokół plików wojennych. Samodzielne kontenery internetowe, takie jak Tomcat i Jetty nie obsługują plików EAR ― nie są to pełnoprawne serwery aplikacji. Aplikacje internetowe w tych kontenerach mają być wdrażane tylko jako pliki wojenne.

W serwerach aplikacji Pliki EAR zawierają konfiguracje takie jak mapowanie ról zabezpieczeń aplikacji, mapowanie odniesienia EJB i mapowanie kontekstowe głównego adresu URL modułów internetowych.

Oprócz modułów internetowych i modułów EJB, pliki EAR mogą również zawierać moduły złączy pakowane jako pliki RAR i moduły klienckie pakowane jako pliki JAR.

 499
Author: Rutesh Makhijani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-01 18:38:01

War-web archive. Służy do wdrażania aplikacji internetowych zgodnie ze standardem servlet. Jest to plik jar zawierający specjalny katalog o nazwie WEB-INF oraz kilka plików i katalogów wewnątrz niego (web.xml, lib, classes), a także wszystkie HTML, JSP, obrazy, CSS, JavaScript i inne zasoby aplikacji webowej

Archiwum Ear - enterprise. Jest on używany do wdrażania aplikacji korporacyjnych zawierających EJB, aplikacje internetowe i biblioteki innych firm. Jest to również plik jar, ma specjalny katalog o nazwie APP-INF, który zawiera aplikację.plik xml i zawiera pliki JAR i war.

 36
Author: David Rabinowitz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-20 13:45:30

Pliki WAR (web archive) zawierają pliki klasy servlet, JSPs (Java servlet pages), pliki HTML i graficzne oraz inne pliki pomocnicze.

Pliki EAR (enterprise archive) zawierają pliki wojenne wraz z plikami jar zawierającymi kod.

Mogą być inne rzeczy w tych plikach, ale ich zasadniczo przeznaczone do tego, co brzmią, jak mają na myśli: wojna o rzeczy typu web, ucho o rzeczy typu enterprise(wojny, kod, Złącza i inne).

 24
Author: paxdiablo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-07 05:09:29

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

Tar (archiwa taśm) - Używany Format to plik zapisany w jednostkach szeregowych fileName, fileSize, fileData - bez kompresji. może być ogromny

Jar (java archive) - stosowane techniki kompresji - zazwyczaj zawiera informacje java, takie jak pliki klasy / java. Ale może zawierać dowolne pliki i strukturę katalogów

War (web application archives) - podobnie jak pliki jar mają tylko określony katalog struktura zgodnie ze specyfikacją JSP / Servlet dla celów wdrożeniowych

Ear (enterprise archives) - podobne jak pliki jar. mają strukturę katalogów zgodną z wymaganiami J2EE, dzięki czemu mogą być wdrożone na serwerach aplikacji J2EE. - może zawierać wiele plików JAR i WAR

 9
Author: simpleDev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-10 10:44:55

Pliki Ear zapewniają więcej opcji konfiguracji interakcji z serwerem aplikacji.

Na przykład: jeśli hibernowana wersja serwera aplikacji jest starsza niż ta dostarczana przez zależności, możesz dodać następujące elementy do ear-deployer-jboss-beans.xml dla JBOSS aby odizolować classloadery i uniknąć konfliktów:

<bean name="EARClassLoaderDeployer" class="org.jboss.deployment.EarClassLoaderDeployer">    
  <property name="isolated">true</property>
</bean>

Lub do 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> 

To upewni się, że nie ma konfliktu klas pomiędzy Twoim aplikacji i serwera aplikacji.

Normalnie mechanizm classloader działa tak:

Gdy żądanie ładowania klasy jest przedstawiane do ładującego klasy, najpierw prosi rodzica klasy loader o spełnienie żądania. Rodzic, w turn, pyta swojego rodzica o klasę, aż żądanie dotrze do góry hierarchii. Jeśli Klasa loader na szczycie hierarchii nie może spełnić żądania, wtedy Loader klasy potomnej, który wywołał jest odpowiedzialny za Ładuję klasę.

Izolując classloadery, Twój ear classloader nie będzie wyglądał w rodzicu (=JBoss / other jako classloader). Z tego co wiem, to nie jest możliwe z aktami wojennymi.

 6
Author: Mark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-21 07:35:52

J2EE definiuje trzy typy archiwów:

  1. Java Archives (Jar) plik JAR zawiera jedną lub więcej klas Javy, manifest i deskryptor. Pliki JAR są najniższym poziomem archiwum. Pliki JAR są używane w J2EE do pakowania EJB i aplikacji Java po stronie klienta.

  2. Web Archives (WAR) Pliki WAR są podobne do plików JAR, z tym wyjątkiem, że są one specjalnie dla aplikacji internetowych wykonanych z serwletów, JSP i wspierających klasy.

  3. Enterprise Archives (EAR) " plik EAR zawiera wszystkie składniki, które składają się na konkretną aplikację J2EE.

 6
Author: user1884500,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-26 08:44:43

Pliki JAR

Plik JAR (skrót od Java Archive) pozwala na połączenie kilku pliki w jednym. Pliki z".jar'; rozszerzenie jest wykorzystywane przez programistów do dystrybucji klas Java i różnych metadanych. Przechowują one również biblioteki i pliki zasobów, a także pliki akcesoriów (np. pliki właściwości).

Użytkownicy mogą wyodrębniać i tworzyć pliki JAR za pomocą Java Development Kit (JDK)".jar ' command. Mogą być również używane Narzędzia ZIP.

JAR pliki mają opcjonalne pliki manifestu. Wpisy w pliku manifestu przepisać użycie pliku JAR. A' main ' class specification for a file class oznacza plik jako oddzielny lub "samodzielny" program.

WAR Files

Pliki WAR (lub Web Application archive) mogą zawierać XML (extensible Markup Language) plików, klas Java, a także serwera Java strony na potrzeby aplikacji internetowej. Jest również stosowany do znakowania biblioteki i strony internetowe, które tworzą sieć podanie. Pliki z ".war ' Rozszerzenie zawiera aplikację internetową do użytku z serwerem lub JSP (Java Strona serwera). Posiada JSP, HTML( znaczniki hipertekstowe Język), JavaScript i różne pliki do tworzenia wyżej wymienionych Aplikacje internetowe.

Plik WAR jest tak skonstruowany, aby pozwalał na specjalne katalogi i pliki. Może również mieć podpis cyfrowy (podobnie jak w pliku JAR) aby pokazać prawdziwość kodu.

Pilniki do uszu

Ucho (Przedsiębiorstwo Archiwum) plik łączy pliki JAR i WAR w pojedyncze archiwum. Te pliki z".ear ' extension posiada katalog dla metadane. Moduły są pakowane w archiwum on dla sprawnego i jednoczesne działanie różnych modułów w ramach serwera aplikacji.

Plik EAR ma również deskryptory wdrażania (które są plikami XML) które skutecznie dyktują rozmieszczenie poszczególnych modułów.

Tutaj wpisz opis obrazka

 5
Author: Joby Wilson Mathews,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-03 16:25:32