В этой записи блога мы рассмотрим различные методы развертывания приложения Spring Boot в виде файла WAR (архив веб-приложений). Хотя пакетом Spring Boot по умолчанию является исполняемый файл JAR (Java Archive), существуют сценарии, в которых вам может потребоваться развернуть приложение как WAR. Мы обсудим различные подходы и приведем примеры кода для каждого метода.
Метод 1: использование Maven
- Откройте файл
pom.xmlвашего проекта Spring Boot. - Измените элемент
<packaging>сjarнаwar. - Добавьте зависимость
spring-boot-starter-tomcatв раздел зависимостей вашего проекта. - Запустите команду сборки Maven:
mvn clean package. - Результирующий файл WAR будет создан в каталоге
target. - Разверните файл WAR в контейнере сервлетов, таком как Tomcat или Jetty.
Метод 2: использование Gradle
- Откройте файл
build.gradleвашего проекта Spring Boot. - Измените строку
apply plugin: 'org.springframework.boot'наapply plugin: 'war'. - Добавьте зависимость
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'в раздел зависимостей вашего проекта. - Запустите команду сборки Gradle:
gradle clean build. - Результирующий файл WAR будет создан в каталоге
build/libs. - Разверните файл WAR в контейнере сервлетов, таком как Tomcat или Jetty.
Метод 3: преобразование вручную
- Создайте приложение Spring Boot в виде исполняемого JAR-файла с помощью Maven или Gradle.
- Извлеките содержимое файла JAR с помощью такого инструмента, как WinRAR или 7-Zip.
- Создайте новый каталог для вашего WAR-файла.
- Скопируйте извлеченное содержимое в новый каталог.
- Создайте каталог
WEB-INFвнутри нового каталога. - Переместите каталоги
classesиlibиз извлеченного содержимого в каталогWEB-INF. - Создайте файл
web.xmlв каталогеWEB-INFи настройте его в соответствии с потребностями вашего приложения. - Заархивируйте содержимое нового каталога, убедившись, что каталог
WEB-INFнаходится на корневом уровне. - Измените расширение zip-файла на
.war. - Разверните файл WAR в контейнере сервлетов, таком как Tomcat или Jetty.
Развертывание приложения Spring Boot в виде файла WAR обеспечивает гибкость при размещении приложения в контейнере сервлетов. В этой статье мы рассмотрели три метода достижения этой цели: использование Maven, использование Gradle и выполнение преобразования вручную. В зависимости от требований и предпочтений вашего проекта вы можете выбрать наиболее подходящий метод развертывания.