Разница между jar и войной в Java
в чем разница между .jar
и ? Это только расширение файла или есть что-то еще?
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 библиотеки, статические веб-страницы и любые другие другие ресурсы, необходимые для запуска приложения.