blob: a2ce128e97404fdded17b53f35fb29f578f2b089 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
"concept.dtd">
<concept id="cjcircle" xml:lang="en-us">
<title outputclass="id_title">Cyclical dependencies between J2EE modules</title>
<shortdesc outputclass="id_shortdesc"></shortdesc>
<prolog><metadata>
<keywords><indexterm>cyclical dependencies<indexterm>overview</indexterm></indexterm>
<indexterm>projects<indexterm>cyclical dependencies</indexterm></indexterm>
<indexterm>J2EE modules<indexterm>cyclical dependencies</indexterm></indexterm>
</keywords>
</metadata></prolog>
<conbody outputclass="id_conbody">
<p outputclass="anchor_topictop">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 <tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="Java">Java</tm> builder cannot accurately compute the
build order of the projects. Full builds fail under these conditions, or require
several invocations.</p>
<p>Therefore, the best practice is to componentize your projects or modules.
This allows you to have your module dependencies function as a tree instead
of a cycle diagram. This practice has the added benefit of producing a better
factored and layered application.</p>
<p outputclass="anchor_topicbottom"></p>
</conbody>
</concept>