Можно ли разделить большой проект Maven и при этом сохранить сортировку Reactor, родительский pom и т. Д.? - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь разделить приложение Maven большого размера, которое находится в монолитном хранилище git.Сам код уже является модульным, но поскольку все модули находятся в одном репозитории, каждая сборка занимает много времени (как долго? Слишком долго), каждая IDE выдвигается до своего предела при выполнении извлечения и т. Д.

Одна приятная вещь в монолитном репо заключается в том, что благодаря совместному использованию общего родительского POM, который всегда там, управление зависимостями и конфигурацией значительно упрощается (например, все получают одну и ту же версию Spring, Hibernate и Jackson), и мы получаем некоторую приятную функциональностьтакие как Reactor Sorting при перестроении на уровне родительского pom, возможность mvn versions:set увеличить номера версий в глобальном масштабе, сохраняя при этом способность разработчика создавать только один проект за раз.

Как проект может быть нарушенчтобы эти четыре условия были выполнены:

  1. Каждый модуль в отдельном git-репо
  2. Все модули имеют общую конфигурацию для основных зависимостей и плагинов
  3. Globalсборки следуют правильной последовательности (как в Сортировке Реактора)
  4. Разработчик, работающий над одним модулем, не испытывает особых неудобств

Моей первоначальной мыслью было просто скопировать содержимое родительского pom в каждый модуль pom, избавиться от ссылки на родительский pom,и проверьте каждый модуль в новом репо - но это только выполняет условия # 1 и # 4 за счет # 2 и # 3.

...