Я хочу быть уверенным, что мой проект не содержит ненужных зависимостей между пакетами. Например, я хочу быть уверенным, что проект имеет многоуровневую структуру. То есть модель ниже всего, бизнес-логика зависит от модели, взгляд зависит от бизнес-логики и модели. Каждый из слоев находится в своем собственном пакете.
Не могли бы вы порекомендовать любые, предпочтительно, инструменты с открытым исходным кодом, которые позволяют мне указывать эти ограничения и проверять их как часть непрерывной интеграции?
P.S. Я знаю, что я могу отделить проект в отдельных модулях maven. К сожалению, мой случай в реальном мире более сложный, чем трехслойная система. Если бы я использовал модули maven, у меня было бы несколько десятков довольно маленьких модулей.