Итак, у меня есть этот большой весенний загрузочный проект с сотнями API и соответствующими моделями. Меня попросили разделить его на три разных модуля. Витрина, система управления заказами и утилиты. В соответствии с моим базовым c планом я сортировал, фильтровал и перемещал API-интерфейсы Storefront и OMS в соответствующие проекты. Я переместил все классы модели в утилиты, создал пакет, добавил этот пакет в локальный репозиторий и включил его как зависимости Storefront и OMS. Далее я экспортировал эти два проекта в качестве исполняемой фляги с копированием необходимых библиотек в подпапку рядом с сгенерированной флягой. И я сделал это, потому что в подпапке будет пакет для утилит, и если в будущем мне придется что-то обновить из утилит, я мог бы просто заменить этот пакет и перезапустить сервер.
Все работает нормально, проблема с размером окончательного пакета. Размер банки оригинального проекта составляет 175 МБ. Все три проекта имеют одинаковые файлы .pom. Таким образом, все три проекта экспортируются в размер, который составляет почти 175 МБ. И, как я уже сказал, я включил пакет для утилит в двух других проектах. Таким образом, размер подпапки для Storefront и OMS составил около 350 МБ.
Наконец, мой вопрос: есть ли способ разделить проект maven на 3 различных подпроекта, которые можно создавать и развертывать независимо и Есть ли какой-нибудь способ, которым эти 3 проекта совместно используют набор библиотек, которые могут храниться удаленно и к которым они могут обращаться независимо друг от друга, чтобы уменьшить размер окончательного работающего фляги?