У нас есть приложение Spring Boot + Angular. Сейчас мы упаковываем его как банку и запускаем.
Можно ли использовать упаковку как JAR? Или мы должны перейти к упаковке типа WAR. В чем будет разница?
взгляните здесь: вы можете указать spring-boot создать файл войны, который является самоисполняемым и развертываемым. Таким образом, при необходимости вы можете изменить развертывание со встроенного сервера на управляемую / предоставленную серверную среду: stackoverflow.com/questions/40289437/…
Spring Boot можно указать для создания файла WAR, и в этом случае вы, вероятно, решите развернуть его в веб-контейнере, таком как Tomcat или Jetty.
Spring Boot также можно указать для создания JAR, который включает все зависимости вашего модуля / службы и может быть запущен с помощью java -jar.
Есть ли преимущество в выборе одного перед другим?
Зависит от вашего развертывания. Если вы планируете развернуть свое приложение на существующем сервере приложений Java EE (например, Tomcat), то стандартным подходом является выполнение военной сборки. Когда вы используете подход с толстой банкой, ваше приложение будет развернуто во встроенном контейнере приложения, предоставляемом spring boo @Swastik
Разница ни в чем другом, кроме стиля развертывания.
При использовании JAR толстый JAR, который создается Spring boot, содержит встроенный tomcat.
Если в среде развертывания вашей группы есть сервер приложений, такой как WebLogic или Websphere и т. д., Который большинство корпоративных сред пытаются выбрать, поскольку у них уже есть лицензия по этим или другим подобным причинам, вам нужно будет создать WAR.
Для ВОЙНЫ:
Плюсы:
Минусы:
Простой способ : Вы можете перейти в свой файл application.yml и указать все детали профиля среды, как показано ниже:
весна: профили: по умолчанию
весна: профили: dev
весна: профили: QA
весна: профили: PROD
После в файле application.properties просто укажите активный профиль, как показано ниже.
spring.profiles.active = QA, Dev или prod
Это не связано с переключением профиля. Вопрос в том, развертывать ли как JAR или как WAR.
По функционалу разницы нет. Разница в выборе сервера. Если встроенный сервер, упакованный с вашим приложением Spring Boot, вам подходит, то все готово.