Circular dependencies between .java files are quite common.  In these
situations, it makes no sense to attempt to compile the various groups
of files independently... as they're dependant on each other anyway.

My prefered approach is to keep related modules together in one
source tree (/src), and all my class files together in one build
tree (/classes).  Then when it comes to building my system, I can
simply let the Java compiler address the circular dependancy issues.
(Java was designed around the idea of having the compiler do the work
of managaing dependancies for us.)

Now, when it comes to packaging your .jars you can selectively decide
which classes should be included with the client, and which should not.
Ant has some excellent capabilities there.  Not to mention there are
other free tools for automatically calculating dependancies and
including only the required classes in the jar.)

Remember, your goal is simplicity and flexability.  Sure, there's an
idealogical "elegance" to being able to divide up the source trees of
your modules.  But if it's increasing the complexity of your system
and creating all sorts of circular dependancy issues, you have to ask
yourself how truely elegant the approach is.  Often the simplest
approaches are the most elegant.

Doug

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to