Мой проект состоит из 5 подпроектов. Один - это война, а остальные 4 - банки. В основном, военному проекту нужны все 4 проекта jar и их зависимости.
Я могу сократить зависимости, чтобы получить что-то вроде war-> A-> B-> C-> D. Каждый подпроект добавляет свою долю внешних зависимостей (весна, распорки, спящий режим), так что в итоге война получает все необходимое для запуска.
Это выглядит довольно хорошо организованным и квадратным, но затем я спрашиваю себя, очень ли это удобно для внесения изменений.
Представьте, что мне нужно изменить одну строку кода в проекте D, не меняя ничего в зависимости от Maven. Я должен был бы переиздать проект D, но затем я должен переиздать проекты C, B, A и войны, чтобы отразить это изменение в своих файлах pom. Это может быть долгим и раздражающим, особенно если вам нужно быстро выпустить новую версию, чтобы исправить что-то в работе.
Я мог бы сделать войну зависимой от всех 4 проектов, так что тогда мне просто нужно изменить номер версии проекта D в файле war pom. Но тогда у меня есть проект A, который косвенно зависит от проекта D 1.0 и проекта войны D 1.1. Я думаю, что в этом случае победит прямая зависимость от войны, не так ли?
Это ускорило бы выпуск новой версии войны, но также запутало бы зависимость от моих подпроектов, так как они бы устарели.
Что было бы приемлемым способом справиться с этой ситуацией?