Question: I have a legacy Java (not my native language) app that I'm trying to build in Eclipse Galileo.

As it's not my own, I can't speak to the quality of the design, but I am coming across a number of instances where I'll have something like this:

In a project called, say, "lib\_a", I'll have a file containing this:

```
import com.acme.lib_b.onething;

```

Project "lib\_b" on the other hand, will contain:

```
import com.acme.lib_a.anotherthing;

```

Of course, the problem is that one project can't be built because the errors prevent me from creating a .jar file that can be added as an external archive to the other project, and vice versa.

It seems to me that this must be a fairly common occurence in building Java applications. Rewriting it from scratch is not an option here, so I'd like to know "what other folks do."

Answer: 
Basically a sign of poor design. Possible solutions

* there are common parts in the 2 libs that should be refactored into a "common" library
* both libraries are really 2 halves of the same library and should be combined
* one library is relying on the "internals" of another library and some interfaces should be introduced to break this bad dependency
I'd just merge them as a single project. 

If you cant use A without B and you cant use B without A having separate JAR files doesn't seem very useful.