Ответ 1
Maven не разрешает циклические зависимости между проектами, потому что в противном случае неясно, какой проект сначала построить. Поэтому вам нужно избавиться от этого цикла. Одним из решений является тот, который вы уже упоминали, для создания другого проекта. Другим было бы просто переместить некоторые классы из B в C или наоборот, когда это поможет. Или иногда правильно объединять проекты B и C с одним проектом, если нет необходимости иметь два из них.
Но, не зная и не анализируя, почему ваши проекты зависят друг от друга, сложно предложить лучшее решение.
Поэтому я предлагаю вам использовать инструменты, такие как JDepend или InteliJ, чтобы найти ваш проблемные классы и основанные на них находят лучший дизайн для вашего программного обеспечения.
В большинстве случаев я создаю нечто вроде модуля интерфейса и модуля реализации, который избавляется от большинства циклов.