По умолчанию Spring Boot поставляется со встроенным сервером Tomcat, который при сборке как жирная банка позволяет развертывать приложения так же просто, как запускать java -баночка команда. Но для развертывания можно также использовать какой-нибудь другой Java EE или сервер приложений. Давайте посмотрим, как развернуть проект Spring Boot в WildFly.
Оговорка
В большинстве случаев развертывание Spring Boot на сервере приложений, таком как WildFly, на самом деле не имеет смысла, поскольку встроенные серверы (Tomcat по умолчанию, Jetty,…) являются частью самой Spring Boot.
Развертывание проекта Spring Boot в WildFly будет разделено на три части:
- Настройка WildFly (отдельная версия)
- Настройка и настройка нового проекта загрузки Spring
- Создание проекта Spring Boot и развертывание
1. Настройка WildFly
Сначала загрузите сервер приложений WildFly , после завершения загрузки распакуйте архив, сохраните его и откройте терминал в каталоге WildFly.
Следующим шагом является настройка пользователя WildFly, при этом терминал перемещается в подкаталог bin
и запускается ./add-user.sh
в Linux или add-user.bat
в Windows. Затем просто следуйте этим шагам:
> What type of user do you wish to add? a (Management User) > Enter the details of the new user to add. Username: wildfly Password: w1ldFly! Re-enter Password : w1ldFly! > What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:> Is this correct yes/no? yes > yes/no? yes > Press any key to continue . . .
Сделав это, мы можем запустить сервер WildFly, используя ./standalone.sh
(Linux) или .\автономный файл.bat
(Окна). Когда инициализация будет завершена, вы должны увидеть журнал:
15:28:47,740 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
Теперь введите http://127.0.0.1:9990
в браузере, после ввода учетных данных администратора (определенных на предыдущем шаге), вы должны увидеть консоль администратора WildFly:
На этом мы закончили настройку сервера WildFly и переходим к настройке проекта Spring Boot.
2. Настройка и настройка проекта Spring Boot
Во-первых, давайте создадим проект на веб-сайте Spring Boot , здесь важно только выбрать Война
как упаковка. А также Maven, если вы хотите выполнить следующие шаги.
Затем нажмите кнопку Создать
, загрузите, распакуйте архив и импортируйте проект в вашу любимую среду разработки ((Я буду использовать IntelliJ, но вы также можете использовать Eclipse, NetBeans, VS Code или что-нибудь еще) .
В целях тестирования мы создадим простую конечную точку API Hello World. Давайте создадим Java-файл в /src/main/java//HelloApi.java
в нем напишите следующий код (пакет и импорт не показаны для удобства чтения, но в конце этой статьи я опубликовал репозиторий Git с исходным кодом) :
@RestController public class HelloApi { @GetMapping("/hello") public String hello() { return "Hello from Spring Boot"; } }
Вы можете попробовать создать ( чистый пакет mvn
) и запустить ( java-jar/цель/<ИМЯ ПРИЛОЖЕНИЯ>.jar
). Во время доступа http://localhost:8080/hello
ты должен увидеть Привет от Весеннего ботинка
.
Теперь давайте настроим проект Spring Boot для его развертывания в WebFly. Во-первых, мы удалим встроенный сервер Tomcat из нашего проекта. В pom.xml
найдите зависимость spring-boot-starter-tomcat
и убедитесь, что <область>
имеет значение при условии
если не установить его:
org.springframework.boot spring-boot-starter-tomcat provided
И давайте исключим некоторые библиотеки ведения журналов, которые могут нарушить развертывание:
org.springframework.boot spring-boot-starter-web ch.qos.logback logback-classic
Следующее, что мы добавим, это некоторые свойства WildFly:
15 127.0.0.1 9990 wildfly w1ldFly!
Давайте разберем это: java.version
определяет версию JDK, на которой построен проект (она уже установлена), развертывание.дикая муха. XX
– это свойства, которые нам нужны для развертывания приложения на WildFly, хост
и порт
область, где “живет” WildFly, имя пользователя
и пароль
такие же, как определены на предыдущем шаге.
Позволяет использовать их в плагине сборки:
org.wildfly.plugins wildfly-maven-plugin 2.0.2.Final install deploy ${project.build.finalName}.war ${deploy.wildfly.host} ${deploy.wildfly.port} ${deploy.wildfly.username} ${deploy.wildfly.password}
Сделав это, убедитесь, что все по-прежнему строится (запустите чистый пакет mvn
) и давайте перейдем к следующему шагу.
Последнее, что мы сделаем в нашем проекте Spring Boot, – это настройка корневого пути контекста (мы установим его в /
таким образом, наше приложение будет доступно на domain.com/hello
). Сначала создайте новый файл в /src/main/webapp/WEB-INF/jboss-web.xml
во-вторых, добавить в файл:
/
Здесь единственной важной частью является <контекстный корень>/корень>
, где мы определяем контекстный корень. корень>
С учетом этого мы создаем проект ( чистый пакет mvn
) и развертываем наш проект Spring Boot на сервере WildFly.
3. Развертывание пружинной загрузки в WildFly
После успешной сборки вы должны найти .war
файл в /цель
каталог, это окончательная форма нашего проекта, которую мы развернем в WildFly.
В консоли администратора Wildfly выбрал Развертывания
на панели навигации, а затем Загрузить развертывание
.
Теперь все, что нам нужно сделать, это загрузить война
файл и развернуть его.
После успешного развертывания вы можете перейти в http://127.0.0.1:8080/hello и посмотрите на наш конечный результат.
Мы могли бы (и должны) вообще пропустить последний шаг и просто использовать Maven для развертывания в WildFly, используя
mvn clean install
Исходный код доступен на GitHub
Фотография обложки, сделанная Мин Анем из пикселей
Оригинал: “https://dev.to/jakmar17/deploy-spring-boot-on-wildfly-application-server-2029”