Victor Alenkov: Сделал всё как Вы сказали, но ни какого эффекта. Core ни как не видит migrate.
Бины не создаются - в конструкторах прописал вывод в лог сообщений о создании.
Я вот думаю может сделать простенький пример и загрузить на github?
По проекту да он не spring-boot это я так для примера привёл, что бы понятно чего хочется добиться от spring-boot'a.
Вот есть проект https://github.com/decebals/pf4j-spring, делает то что нужно, но с сожалению демо не работает(пока сомневаюсь использовать в боевом проекте). Только там он модули назвал плагинами. Но суть та же.
Victor Alenkov: Я с Вами согласен что хранить настройки в jar не правильно. Сделал как вы посоветовали ни как не видит spring модуль migrate. Строку добавил application.properties в loader.path=lib/,/home/myuser/java/projects/billing/modules
Единственное не понял зачем spring.factories в модуле magrate? У него нет своего контекста spring и конфигураций тоже нет. Там несколько entity, repository и пару классов с алгоритмами миграции.
На этапе у меня есть путь к папке с jar(никами). Просто приписывается в application.properties вот такая строка modules.path=/home/myuser/java/projects/billing/modules и в core просто @Value("${modules.path}") String path)
Ну да получается, сразу после запуска(spring-boot) нужно как то инициализировать модули(migrate), можно сказать что при запуске. Тут смотря от куда смотреть, инициализация модулей(моих) для меня это ещё запуск моего приложения просто перед ним запускается spring-boot.
Victor Alenkov: Тут дело в том что spring-boot уже запущен и он ни чего не знает о migrate.jar. Загрузка migrate нужно сделать как то в runtime. Иначе придётся делать сборки под каждого пользователя приложения во своим набором модулей, тупо добавляя их в зависимости core, как не гибко.
Хорошо попробую объяснить по другому. Есть два jar файла первый core (приложение spring-boot) и migrate(должен запускаться для миграции со старой версии). Но migrate может и не быть, если новая установка приложения. Как сделать так что бы migrate.jar подключался автоматически если он есть?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.