Что касается структуры и ответственности за каждый проект, я бы предложил смоделировать его как
родитель
- веб-сервис (только контроллеры и представления, без бизнес-логики, делегаты для продаж и покупки для бизнес-логики)
- продажи (бизнес-логика продаж - без контроллеров и представлений)
- покупка (покупка бизнес-логики - без контроллеров и представлений)
Возможно, вам придется добавить дополнительные модули для утилит / персистентность / сущностей , в зависимости от ваших конкретных требований.
Что касается строительства как такового, здесь есть несколько вариантов, наиболее широко используемые bing maven и gradle . Оба они поддерживают структурирование приложения в родительских и дочерних модулях. Оба они поддерживают добавление зависимостей для дочернего модуля в другой дочерний модуль (так что вы можете добавить зависимости от sales и покупки в веб-сервисе ).
Как maven, так и gradle позаботятся о создании всех необходимых зависимостей для данного модуля перед сборкой этого модуля (поэтому гарантируется, что sales и покупки будут построены до веб-сервис ). И maven, и gradle не смогут выполнить сборку, если они не смогут удовлетворить зависимость.