Разница между jar и войной в Java


в чем разница между .jar и ? Это только расширение файла или есть что-то еще?

12 351

12 ответов:

С советы Java: разница между ear jar и war files:

эти файлы просто заархивированные файлы использование инструмента java jar. Эти файлы создан для разных целей. Здесь есть описание этих файлов:

  • .файлы jar: The .jar files содержать библиотеки, ресурсы и файлы аксессуаров как файлы свойств.

  • .файлы войны: война содержит веб-приложение что может быть развернуто на любом сервлете / jsp контейнер. Этот.war-файл содержит jsp, html, javascript и другие файлы необходимый для развития сети приложения.


официальные описания Sun / Oracle:


статьи:

A .war file имеет определенную структуру с точки зрения того, где будут находиться определенные файлы. Кроме этого, да, это просто .jar.

основное различие между банкой и войной заключается в том, что банка на самом деле не является единым целевым форматом, в то время как война есть. С файлом JAR вы можете упаковать много разных вещей. Обычно вы упаковываете классы Java, но вы можете поместить почти все в файл JAR, и вы можете создавать банки, которые имеют любые файлы и форматы каталогов, которые вы хотите. Например, Oracle (по крайней мере, в 8.1.x) фактически использует файлы JAR для распространения программного обеспечения Oracle на установочных компакт-дисках, а IBM использует их для распространите устанавливаемую версию документации для WebSphere. Технически вы можете поместить JSP-страницы, HTML-страницы, классы сервлетов и т. д. в банке, но вы обычно не ... вы используете войну.

файлы WAR - это файлы JAR с определенным форматом. Этот формат определен в спецификации сервлета (которую вы можете посмотреть на java.sun.com сайт). По сути, файл WAR является стандартным форматом для веб-приложений, который имеет определенные каталоги и конкретные файлы. Это включает в себя WEB-INF каталог, WEB-INF / web.xml-файл, используемый для описания приложения, каталог WEB-INF/lib для файлов JAR, используемых приложением, и каталог WEB-INF/classes для файлов классов, которые не распространяются в JAR. Вы бы также поместили страницы (JSP и HTML) в войну. Затем вы можете распространять свое приложение как один файл, а не как коллекцию изображений, HTML-страниц и классов Java.

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

  • серверные служебные классы (компоненты базы данных, тележки для покупок и т. д.).
  • статические веб-ресурсы (HTML, изображения, звуковые файлы и так далее)
  • классы на стороне клиента (апплеты и служебные классы)

война имеет определенную иерархическую структуру каталогов. Каталог верхнего уровня WAR-это корневой документ приложения. В корне документа хранятся страницы JSP, клиентские классы и архивы, а также статические веб-ресурсы.

(источник)

Так .война есть .jar, но он содержит компоненты веб-приложения и выложен в соответствии с определенной структурой. Один.войны предназначен для развертывается на сервере веб-приложений, таком как Tomcat или Jetty, или на сервере Java EE, таком как JBoss или Glassfish.

A .war файл-это архив веб-приложений, который работает внутри сервера приложений в то время как .jar - Это архив приложений Java, который запускает настольное приложение на компьютере пользователя.

файл war-это специальный файл jar, который используется для упаковки веб-приложения, чтобы упростить его развертывание на сервере приложений. Содержимое файла war должно иметь определенную структуру.

.банка и. война-это архивные файлы на молнии. Оба могут иметь дополнительный META-INF/манифест.Файл манифеста MF, который содержит информативную информацию, такую как управление версиями, и учебные атрибуты, такие как classpath и main-class для JVM, который будет его выполнять.

.war file-архив веб-приложений, предназначенный для выполнения внутри "контейнера сервлетов" и может включать в себя другие файлы jar (в каталоге WEB-INF/lib) скомпилированные классы (в WEB-INF/classes (сервлет тоже туда идет)) .JSP-страница файлы изображений, файлы и т. д. Весь военный контент, который есть, чтобы создать автономный модуль.

EAR является архивом корпоративных приложений и может содержать файлы JAR ejb, файлы WAR и файлы RAR (connector). Они также могут содержать сторонние библиотеки - но вы должны знать, как управлять расширением Java (например, манифест.MF Class-Path directive), чтобы сделать эту работу хорошо.

WAR представляет собой архив веб-приложений и содержит JSP, "обычные" HTTP-файлы (HTML, изображения и т. д.), сервлеты, библиотеки тегов.

JAR - это "нормально" Java application archive, но в этом контексте он обычно содержит EJBs вместо библиотек кода или запускаемых (например, из-за пределов контейнера приложений) приложений.

war и jar-это архивы для java-файлов. война-это веб-архив, и они работают на веб-сервере. jar-это Java-архив.

в основном оба сжатых архива. война используется для веб-приложения с определенной структурой каталогов.

файлы Jar (файлы с a .расширение jar) предназначены для проведения универсальных библиотек классов Java, ресурсы, вспомогательные файлы и т. д.Тогда как файлы войны (файлы с a .War extension) предназначены для размещения полных веб-приложений. В этом контексте веб-приложение определяется как одна группа файлов, классов, ресурсов .файлы jar, которые могут быть упакованы и доступны как один контекст сервлета.

войны

распространять веб-приложения на основе Java. Война имеет тот же файл структура как файл JAR, который представляет собой один сжатый файл, который содержит несколько файлов в комплекте внутри него.

Jar -

The .файлы jar содержат библиотеки, ресурсы и вспомогательные файлы как файлы свойств.

файлы WAR используются для объединения JSP, сервлетов, файлов классов Java, XML файлы, библиотеки javascript, JAR библиотеки, статические веб-страницы и любые другие другие ресурсы, необходимые для запуска приложения.