A third project might be just the answer, or you might be able to change things around with an interface. Here's an intro to
Dependency Inversion that sometimes does the trick. The first slide is a picture of Robert Martin's "Agile Software Development" which is the place to learn dependency management, highly recommended.
BTW: Kudos for recognizing the problem! Some folks near me at work use a build procedure that deletes all compiled classes and starts from source code. They have two jars that depend on each other, and they cannot build either one first.
[ December 06, 2007: Message edited by: Stan James ]