You can resolve cyclical dependencies after an EAR is imported.
A cyclical dependency between two or more modules in an enterprise
application most commonly occurs when projects are imported from outside the
workbench. When a cycle exists between two or more modules in an enterprise
application, the Java™ builder cannot accurately compute the build order
of the projects. Full builds fail under these conditions, or require several
invocations.
Therefore, the best practice is to organize your projects or
modules into components. This allows your module dependencies to function
as a tree instead of a cycle diagram. This practice has the added benefit
of producing a better factored and layered application.