Циклическая зависимость между одним или несколькими модулями в приложении J2EE обычно возникает в случае импортирования проектов извне рабочей среды. При наличии цикла между двумя или более модулями приложение J2EE, компоновщик Java™, не может корректно вычислить порядок компоновки проектов. При таких условиях выполнить полную компиляцию не удастся, либо для этого потребуется несколько вызовов.
Таким образом, рекомендуется разбить проекты или модули на компоненты. Это позволит вам зависимостям модулей функционировать в виде дерева, а не циклической диаграммы. Такой подход также позволяет создать более проработанные приложения с несколькими уровнями.