Что за программа War

Фактически jar-библиотека – это просто zip архив, что напрямую следует из его имени: J ava Ar chive . Чаще всего он содержит просто четыре вещи:

  • скомпилированные классы;
  • ресурсы: properties-файлы и тому подобное;
  • манифест MANIFEST.MF;
  • другие jar-библиотеки (редко).

Типичная структура такого архива имеет вид:

META-INF/ MANIFEST.MF com/ javarush/ MyApplication.class application.properties

Теперь давай рассмотрим типичный war-файл. Кстати, war не от слова война, а от W eb Ar chive . Структура war-файла обычно посложнее. Чаще всего он состоит из двух частей:

  • Java-часть
  • скомпилированные классы
  • ресурсы для java-классов: properties-файлы и тому подобное
  • другие jar-библиотеки (часто)
  • манифест MANIFEST.MF
  • web-xml – дескриптор развертывания веб-сервиса
  • jsp-сервелеты
  • статические веб-ресурсы: HTML, CSS, JS-файлы

Пример типичного war-файла:

Банят ли за Spacewar в Steam? Что такое Spacewar?


META-INF/ MANIFEST.MF WEB-INF/ web.xml jsp/ helloWorld.jsp classes/ static/ templates/ application.properties lib/ // *.jar files as libs

Важно! jar-файл может запустить просто java-машина, для запуска же war-файла его нужно загрузить на веб-сервер. Самостоятельно он не запускается.

Плагин создания war-файла с помощью maven-war-plugin

Давайте представим, что у нас есть простой веб-проект. Пусть проект задается такой структурой файлов, как нам его собрать?

|— pom.xml `— src `— main |— java | `— com | `— example | `— projects | `— SampleAction.java |— resources | `— images | `— sampleimage.jpg `— webapp |— WEB-INF | `— web.xml |— index.jsp `— jsp `— websource.jsp

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

. com.example.projects simple-war war 1.0-SNAPSHOT Simple War Project http://javarush.com .

Читайте также:
Что за программа start

Во-вторых, нам нужно подключить плагин maven-war-plugin . Пример:

org.apache.maven.plugins maven-war-plugin 3.3.2 /sample/servlet/container/deploy/directory

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

Плагину можно задать два режима сборки (два вида goal):

В первом случает итоговый war-файл просто кладется в папку target и имеет имя -.war .

Но можно “попросить” плагин, чтобы в итоговую папку содержимое war-файла было помещено в том состоянии, в котором оно будет распаковано веб-сервером у себя внутри. Для этого используется goal war:exploded .

Второй подход используется часто, если ты запускаешь или дебажишь проект прямо из Intellij IDEA.

Кстати, тег webappDirectory в примере выше позволяет переопределить директорию куда будет распакован ваш war-файл при сборке в режиме war:exploded.

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

Как получить легально золотые орлы за 3 мин 100 орлов(не кликбейт)

Сборка web-приложения на основе SpringBoot

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

Шаг первый. Создай пустой Maven web-проект с помощью IDEA.

Шаг второй. Добавь в его pom.xml зависимости от Spring.

org.springframework.boot spring-boot-starter-thymeleaf org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat provided

Шаг третий. Создай класс com.javarush.spring.MainController . Его нужно разместить в папке src/main/java :

В-третьих, метод возвращает строку «index» . Это говорит фреймворку SpringBoot, что в качестве ответа нужно отдать содержимое файла index.html .

Шаг четвертый. Нужно добавить в проект файл index.html с таким содержимым:

Это не просто html. Перед тем, как его содержимое отдадут клиенту, оно будет модифицировано на сервере фреймворком Thymeleaf. В этот файл встроены специальные теги, которые позволяют библиотеке Thymeleaf обрабатывать и модифицировать содержимое страницы.

Читайте также:
Cairo что за программа

Красным отображены теги, которые будут обработаны библиотекой Thymeleaf, зеленым – стили CSS-библиотеки Bootstrap.

Шаг пятый. Задаем плагин в pom.xml:

maven-war-plugin 3.3.1

Немного переоценил свои силы. Чтобы полностью разобрать простой пример, нужно много времени. Но ты можешь скачать полный код проекта из GitHub и попробовать разобраться в нем самостоятельно. Кстати, процентов 80% своего рабочего времени ты будешь делать именно это 🙂

Полный код ты можешь скачать по ссылке в GitHub.

Источник: javarush.com

Советы по открытию файла WAR

Не удается открыть файл WAR? Ты не единственный. Тысячи пользователей ежедневно сталкиваются с подобными проблемами. Ниже вы найдете советы по открытию файлов WAR, а также список программ, поддерживающих файлы WAR.

WAR расширение файла

Имя файла Разработчик файлов Категория файла
Java Web Archive
Oracle
Сжатые файлы

Файл WAR поддерживается в операционных системах 3. В зависимости от вашей операционной системы вам может потребоваться другое программное обеспечение для обработки файлов WAR. Ниже приводится сводка количества программ, которые поддерживают и открывают файл WAR на каждой системной платформе.

Операционные системы
  • 3
  • 1
  • 1

Что такое файл WAR?

Файл WAR отнесен к категории Сжатые файлы.

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru