Что такое военный файл

Обновлено: 01.07.2024

OpenSSO Enterprise построен на платформе Java EE, которая использует компонентную модель для создания полномасштабных приложений. Компонент — это автономный функциональный программный код, собранный с другими компонентами в приложение Java EE. Компоненты приложения Java EE можно развертывать отдельно на разных серверах. Компоненты приложения Java EE включают следующее:

Клиентские компоненты, такие как динамические веб-страницы, апплеты и веб-браузер, работающие на клиентском компьютере.

Веб-компоненты, такие как сервлеты и страницы Java Server (JSP), которые запускаются в веб-контейнере.

Бизнес-компоненты, отвечающие потребностям конкретной области предприятия, например банковского дела, розничной торговли или финансов. Такие бизнес-компоненты также работают в веб-контейнере.

Программное обеспечение корпоративной инфраструктуры, работающее на устаревших компьютерах.

Веб-компоненты

Когда веб-браузер выполняет приложение Java EE, он развертывает серверные объекты, известные как веб-компоненты. JSP и соответствующие сервлеты — два таких веб-компонента.

Небольшие программы Java, динамически обрабатывающие запросы и формирующие ответы из веб-браузера. Сервлеты запускаются в веб-контейнерах.

Страницы сервера Java (JSP)

Текстовые документы, содержащие данные статического шаблона, такие как HTML, масштабируемая векторная графика (SVG), беспроводной язык разметки (WML) или расширяемый язык разметки (XML). JSP также содержат такие элементы, как сервлеты, создающие динамическое содержимое.

Как упаковываются веб-компоненты

Компоненты Java EE обычно упаковываются отдельно, а затем объединяются в файл корпоративного архива (EAR) для развертывания приложения. Веб-компоненты упакованы в файлы WAR. Каждый файл WAR содержит сервлеты, JSP, дескриптор развертывания и соответствующие файлы ресурсов.

Статические файлы HTML и JSP хранятся на верхнем уровне каталога WAR. Каталог верхнего уровня содержит подкаталог WEB-INF, который содержит файлы дескрипторов библиотеки тегов в дополнение к следующему:

Сервлеты, компоненты JavaBean и соответствующие файлы классов Java. Они должны храниться в каталоге WEB-INF/classes.

Библиотеки тегов и любые служебные библиотеки, вызываемые серверными классами. Они должны храниться в каталоге WEB-INF/lib.

Дескриптор развертывания веб-компонента хранится в каталоге WEB-INF

Веб-приложения можно упаковать и подписать в файл формата Web ARchive (WAR) с помощью стандартных инструментов архивации Java. Например, приложение для отслеживания проблем может распространяться в архивном файле с именем issuetrack.war. При упаковке в такой форме будет присутствовать каталог META-INF, содержащий информацию, полезную для инструментов архивирования Java. Этот каталог не должен напрямую использоваться контейнером в качестве содержимого в ответ на запрос веб-клиента, хотя его содержимое видно коду сервлета через вызовы getResource и getResourceAsStream в Контекст сервлета. Кроме того, любые запросы на доступ к ресурсам в каталоге META-INF должны возвращаться с ответом SC_NOT_FOUND(404).

WAR обычно содержит следующие ресурсы:

Сервлеты, страницы JavaServer (JSP), библиотеки пользовательских тегов.

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

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

Клиентские классы (апплеты и служебные классы).

Структура каталогов веб-приложения состоит из двух частей. Первая часть представляет собой общедоступную структуру каталогов, содержащую документы HTML/XML, страницы JSP, изображения, апплеты и т. д. Контейнер надлежащим образом обслуживает содержимое каталога по входящим запросам. Вторая часть представляет собой специальный каталог WEB-INF, содержащий следующие файлы и каталоги:

web.xml — дескриптор развертывания веб-приложения.

Файлы дескрипторов библиотеки тегов.

classes/ — каталог, содержащий серверные классы: сервлет, служебные классы и компоненты JavaBeans.

lib/ – каталог, содержащий JAR-архивы библиотек (библиотеки тегов и любые служебные библиотеки, вызываемые серверными классами).

tags/ — каталог, содержащий файлы тегов (которые легко доступны для JSP без необходимости явно писать файлы дескриптора библиотеки тегов).

Чтобы подготовить веб-приложение к развертыванию, упакуйте его в файл WAR с помощью следующей служебной команды jar из каталога верхнего уровня приложения: где web_app имя веб-приложения.

Как развернуть военный файл?

Есть два способа развернуть военный файл.

  1. По панели консоли сервера
  2. Вручную поместив военный файл в определенную папку на сервере.

Если вы хотите развернуть военный файл на сервере apache tomcat вручную, перейдите в каталог webapps apache tomcat и вставьте сюда военный файл.

Теперь вы можете получить доступ к веб-проекту через браузер.

Примечание: сервер извлечет военный файл внутри себя.

Как извлечь файл войны вручную?

Чтобы извлечь военный файл, вам нужно использовать переключатель -x инструмента jar JDK. Давайте посмотрим на команду для извлечения файла войны.

Youtube

Для просмотра видео присоединяйтесь к нашему каналу Youtube: присоединяйтесь сейчас

Отзыв

Помогите другим, поделитесь

facebook
twitter
pinterest

Изучите последние руководства

Шаблоны проектирования Python

Подготовка

Aptitude

Логическое мышление

Вербальная способность

Вопросы для собеседования с компанией

Тенденционные технологии

B.Tech / MCA

Службы Javatpoint

JavaTpoint предлагает слишком много высококачественных услуг. Напишите нам на [email protected], чтобы получить больше информации о предоставляемых услугах.

  • Дизайн веб-сайта
  • Разработка веб-сайта
  • Разработка Java
  • Разработка PHP
  • Вордпресс
  • Графический дизайн
  • Логотип
  • Цифровой маркетинг
  • Поисковая оптимизация на странице и за ее пределами
  • Контекстная реклама
  • Разработка контента
  • Корпоративное обучение
  • Обучение в классе и онлайн
  • Ввод данных

Подготовка к университетскому городку

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

15 ответов 15

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

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

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

Статьи в Википедии:

WAR означает ARchive веб-приложения

JAR означает Java ARchive

введите здесь описание изображения

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

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

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

Означает ли это, что если вы создаете серверное приложение, которое использует только сокеты и не имеет пользовательского интерфейса, нет необходимости упаковывать его как военный файл?

На самом деле сейчас я читаю немного больше, мне не нужен Tomcat, я могу просто экспортировать банку на сервер и запускать ее прямо оттуда.

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

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

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

@KevinWelker согласился. Даже в 2011 году (когда был написан этот пост) jar все еще мог представлять собой библиотеку. Однако весенней загрузки не было, поэтому я могу упустить из виду тот факт, что вы можете встроить веб-сервер в банку, как упоминалось в вихре.

@Kevin Welker, не "не совсем", я бы сказал "не совсем правда", поскольку Whirlwin только что упомянул исключение, которое полностью соответствует действительности, не так ли?

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

.jar и .war — это заархивированные файлы в формате zip. Оба могут иметь необязательный файл манифеста META-INF/MANIFEST.MF, который содержит информативную информацию, такую ​​​​как версия, и атрибуты инструкций, такие как путь к классам и основной класс для JVM, которая будет его выполнять.

Файл

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

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

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

Файл JAR имеет расширение .jar и создается с помощью команды jar из командной строки (аналогично выполнению команды javac). Как правило, файл JAR содержит ресурсы, связанные с Java, такие как библиотеки, классы и т. д. Файл JAR подобен файлу winzip, за исключением того, что файлы JAR не зависят от платформы.

Файл WAR — это просто файл JAR, но он содержит только файлы Java, связанные с Интернетом, такие как сервлеты, JSP, HTML.

Для выполнения файла WAR требуется веб-сервер или веб-контейнер, например Tomcat, Weblogic или Websphere. Для выполнения JAR-файла достаточно простого JDK.

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

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

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

Эти каталоги содержат файлы, которые НЕ СЛЕДУЕТ изменять.

Обновление измененных WAR

После изменения файла в WAR необходимо обновить сам WAR новым измененным файлом. Ниже описана процедура обновления WAR.

Это каталог, в котором хранятся файлы WAR.

Опция -uvf заменяет старый файл новым измененным файлом. Например:

jar -uvf console.war newfile/index.html

заменяет файл index.html в console.war файлом index.html, расположенным в IdentityServer_base. /SUNWam/новый файл .

Повторное развертывание модифицированных WAR

После обновления файлы WAR необходимо повторно развернуть в веб-контейнере. Веб-контейнер предоставляет такие услуги, как диспетчеризация запросов, безопасность, параллелизм и управление жизненным циклом. Он также предоставляет веб-компонентам доступ к J2EE API. Следующие процедуры относятся к каждому конкретному контейнеру WAR и веб-контейнеру. После повторного развертывания файлов войны необходимо перезапустить все связанные серверы.

Примечание< /p>

Веб-контейнеры BEA WebLogic Server 6.1 и Sun ONE Application Server не требуют развертывания WAR. Они развернуты как WAR.

BEA WebLogic Server 6.1

Следующие команды используются в BEA WebLogic Server 6.1 для повторного развертывания WAR Identity Server.

Примечание< /p>

amconsole , amserver и ampassword являются URI развертывания консоли, сервера и пароля по умолчанию соответственно.

Развертывание console.war в WebLogic

java weblogic.deploy -url protocol://server_host:server_port -component amconsole:WL61 _server_name deploy WL61_admin_password amconsole IdentityServer_base /SUNWam/console.war

Развертывание services.war в WebLogic

java weblogic.deploy -url protocol://server_host:server_port -component amserver:WL61 _server_name deploy WL61_admin_password amserver IdentityServer_base /SUNWam/services.war

Чтобы развернуть password.war на WebLogic

java weblogic.deploy -url protocol://server_host:server_port -component ampassword:WL61 _server_name deploy WL61_admin_password ampassword IdentityServer_base /SUNWam/password.war

Сервер приложений Sun ONE 7.0

Следующие команды используются в Sun ONE Application Server 7.0 для повторного развертывания WAR Identity Server.

Читайте также:

Примечание< /p>

Для получения более полной информации об утилите Java weblogic.deploy и ее параметрах см. документацию BEA WebLogic Server 6.1.