Может кто-нибудь дать мне понимание того, что на самом деле делает плагин Spring Boot Maven? Я был в Google, но большая часть того, что я нашел, не дает четкой картины.
У меня пока сложилось впечатление, что он может создать «полностью исполняемый» jar, который не нужно запускать черезjava -jar
, и что также возможно сделать более традиционную банку, которую вы бы запускали через java -jar
. Я уверен, что есть и другие варианты того, что он может производить.
У меня также сложилось впечатление, что он может объединять зависимости и ресурсы. Мне совсем не ясно, как приложение «обращается» к ресурсам при его запуске.
В любом из описанных выше результатов мне нужно просто банка и ничего больше (т.е. нет файлов ресурсов, банок зависимостей и т. д.)? Другими словами, является ли баночка автономной? Когда я открыл банку, кажется, что там есть все, что ей нужно. Так ли это на самом деле?
Теперь давайте пойдем немного дальше к тому, что я пытаюсь сделать. Я пишу набор сервисов Spring с REST API. Каждый сервис будет работать в своей собственной виртуальной машине (или контейнере - в будущем). Сервисы упакованы в один jar-файл, и сервис, который будет использоваться, выбирается через профиль Spring (т. Е. spring.profiles.active=a-profile
).
То, что я делал до этого, заключалось в использовании подключаемого модуля Maven. создать архив (zip) для каждого отдельного сервиса и включить все необходимое (файлы зависимостей, файлы ресурсов и т. д.). Я бы разместил его там, где это необходимо, распаковал его, настроил какую-то конфигурацию и запустил с помощью прилагаемого скрипта.
У меня создается впечатление, что это не «как это делается», когда задействован плагин Spring Boot Maven.