Se produce con mucha frecuencia una dependencia cíclica entre dos o más módulos de una aplicación de empresa cuando se importan proyectos externos al entorno de trabajo. Cuando existe un ciclo entre dos o más módulos de una aplicación de empresa, el constructor Java no puede calcular con precisión el orden de construcción de los proyectos. Las construcciones completas fallan bajo estas condiciones, o bien es necesario invocarlas varias veces.
Por consiguiente, es preferible organizar los proyectos o módulos en componentes. Esto le permite que sus dependencias de módulos funcionen en forma de diagrama de árbol en vez de hacerlo como un ciclo. Esta práctica tiene la ventaja adicional de producir una aplicación con una mejor disposición de factores y niveles.