Развертывание приложения Spring Boot как WAR: объяснение нескольких методов

В этой записи блога мы рассмотрим различные методы развертывания приложения Spring Boot в виде файла WAR (архив веб-приложений). Хотя пакетом Spring Boot по умолчанию является исполняемый файл JAR (Java Archive), существуют сценарии, в которых вам может потребоваться развернуть приложение как WAR. Мы обсудим различные подходы и приведем примеры кода для каждого метода.

Метод 1: использование Maven

  1. Откройте файл pom.xmlвашего проекта Spring Boot.
  2. Измените элемент <packaging>с jarна war.
  3. Добавьте зависимость spring-boot-starter-tomcatв раздел зависимостей вашего проекта.
  4. Запустите команду сборки Maven: mvn clean package.
  5. Результирующий файл WAR будет создан в каталоге target.
  6. Разверните файл WAR в контейнере сервлетов, таком как Tomcat или Jetty.

Метод 2: использование Gradle

  1. Откройте файл build.gradleвашего проекта Spring Boot.
  2. Измените строку apply plugin: 'org.springframework.boot'на apply plugin: 'war'.
  3. Добавьте зависимость providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'в раздел зависимостей вашего проекта.
  4. Запустите команду сборки Gradle: gradle clean build.
  5. Результирующий файл WAR будет создан в каталоге build/libs.
  6. Разверните файл WAR в контейнере сервлетов, таком как Tomcat или Jetty.

Метод 3: преобразование вручную

  1. Создайте приложение Spring Boot в виде исполняемого JAR-файла с помощью Maven или Gradle.
  2. Извлеките содержимое файла JAR с помощью такого инструмента, как WinRAR или 7-Zip.
  3. Создайте новый каталог для вашего WAR-файла.
  4. Скопируйте извлеченное содержимое в новый каталог.
  5. Создайте каталог WEB-INFвнутри нового каталога.
  6. Переместите каталоги classesи libиз извлеченного содержимого в каталог WEB-INF.
  7. Создайте файл web.xmlв каталоге WEB-INFи настройте его в соответствии с потребностями вашего приложения.
  8. Заархивируйте содержимое нового каталога, убедившись, что каталог WEB-INFнаходится на корневом уровне.
  9. Измените расширение zip-файла на .war.
  10. Разверните файл WAR в контейнере сервлетов, таком как Tomcat или Jetty.

Развертывание приложения Spring Boot в виде файла WAR обеспечивает гибкость при размещении приложения в контейнере сервлетов. В этой статье мы рассмотрели три метода достижения этой цели: использование Maven, использование Gradle и выполнение преобразования вручную. В зависимости от требований и предпочтений вашего проекта вы можете выбрать наиболее подходящий метод развертывания.