У меня есть большое приложение (~ 50 модулей), используя структуру, подобную следующей:хранилище макет для больших Maven проектов
- Применение
- Коммуникационные модули
- Цвет Модуль связи
- SSN коммуникационный модуль
- и т.п. коммуникационный модуль
- маршрутизатор модуль
- Сервисные модули
- сервис голосования модуль
- Веб-интерфейс подмодуль для голосования
- Vote коллекторного подмодуль для голосования
- и т.д. для голосования
- сервисный модуль Quiz
- и т.д. Модуль
- сервис голосования модуль
- Коммуникационные модули
Я хотел бы импортировать приложение в Maven и Subversion. После некоторых исследований я обнаружил, что для этого существуют два практических подхода.
Один использует древовидную структуру, как и предыдущую. Недостатком этой структуры является то, что вам нужна тонна tweaking/hacks, чтобы получить многомодульную отчетность с Maven. Другим недостатком является то, что в Subversion стандартный подход trunk/tags/branches добавляет еще большую сложность в репозиторий.
Другой подход использует плоскую структуру, где есть только один родительский проект, и все модули, подмодули и части-подмодули являются прямым дочерним элементом родительского проекта. Этот подход хорошо подходит для отчетности и проще в Subversion, однако я чувствую, что теряю часть структуры таким образом.
В каком направлении вы бы выбрали в долгосрочной перспективе и почему?