Плагин Spring Boot Maven: что он на самом деле делает? - PullRequest
1 голос
/ 23 октября 2019

Может кто-нибудь дать мне понимание того, что на самом деле делает плагин Spring Boot Maven? Я был в Google, но большая часть того, что я нашел, не дает четкой картины.

У меня пока сложилось впечатление, что он может создать «полностью исполняемый» jar, который не нужно запускать черезjava -jar, и что также возможно сделать более традиционную банку, которую вы бы запускали через java -jar. Я уверен, что есть и другие варианты того, что он может производить.

У меня также сложилось впечатление, что он может объединять зависимости и ресурсы. Мне совсем не ясно, как приложение «обращается» к ресурсам при его запуске.

В любом из описанных выше результатов мне нужно просто банка и ничего больше (т.е. нет файлов ресурсов, банок зависимостей и т. д.)? Другими словами, является ли баночка автономной? Когда я открыл банку, кажется, что там есть все, что ей нужно. Так ли это на самом деле?

Теперь давайте пойдем немного дальше к тому, что я пытаюсь сделать. Я пишу набор сервисов Spring с REST API. Каждый сервис будет работать в своей собственной виртуальной машине (или контейнере - в будущем). Сервисы упакованы в один jar-файл, и сервис, который будет использоваться, выбирается через профиль Spring (т. Е. spring.profiles.active=a-profile).

То, что я делал до этого, заключалось в использовании подключаемого модуля Maven. создать архив (zip) для каждого отдельного сервиса и включить все необходимое (файлы зависимостей, файлы ресурсов и т. д.). Я бы разместил его там, где это необходимо, распаковал его, настроил какую-то конфигурацию и запустил с помощью прилагаемого скрипта.

У меня создается впечатление, что это не «как это делается», когда задействован плагин Spring Boot Maven.

1 Ответ

0 голосов
/ 23 октября 2019

Плагин Spring Boot Maven обеспечивает поддержку Spring Boot в Maven, позволяя упаковывать исполняемый архив jar или war и запускать приложение «на месте».

Создает uber jarкакие пакеты в Tomcat вместе с вашим приложением. Если вы проверите содержимое банки с помощью jar -tf <file_name>, вы увидите, что формат немного другой. Классы Spring Boot выглядят нормально, но тогда файлы вашего проекта находятся в папке BOOT-INF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...