Файл .war vs .ear

substr("testers", -1); // returns "s"
531
задан Mahozad 30 June 2018 в 17:19
поделиться

4 ответа

Из GeekInterview :

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

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

WAR: Web modules which contain Servlet class files, JSP Files, supporting files, GIF and HTML files are packaged as JAR file with .war (web archive) extension

EAR: All above files (.jar and .war) are packaged as JAR file with .ear (enterprise archive) extension and deployed into Application Server.

478
ответ дан 22 November 2019 в 22:23
поделиться

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

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

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

Enterprise приложения могут состоять из одного или нескольких модулей, которые могут быть либо веб-модулями (упакованными как файл 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.

579
ответ дан 22 November 2019 в 22:23
поделиться

WAR (web archive) files contain servlet class files, JSPs (Java servlet pages), HTML and graphical files, and other supporting files.

EAR (enterprise archive) files contain the WAR files along with the JAR files containing code.

There may be other things in those files but their basically meant for what they sound like they mean: WAR for web-type stuff, EAR for enterprise-type stuff (WARs, code, connectors et al).

26
ответ дан 22 November 2019 в 22:23
поделиться

war - web archive. It is used to deploy web applications according to the servlet standard. It is a jar file containing a special directory called WEB-INF and several files and directories inside it (web.xml, lib, classes) as well as all the HTML, JSP, images, CSS, JavaScript and other resources of the web application

ear - enterprise archive. It is used to deploy enterprise application containing EJBs, web applications, and 3rd party libraries. It is also a jar file, it has a special directory called APP-INF that contains the application.xml file, and it contains jar and war files.

40
ответ дан 22 November 2019 в 22:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: