Java [was: Re: OT: [Gllug] Debian or Slack]

Pete Ryland pdr at
Tue Feb 24 12:22:29 UTC 2004

On Mon, Feb 23, 2004 at 10:29:44PM +0000, Tethys wrote:
> for reasons best known to Sun, Java breaks the 1:1 mapping between source
> and object files[1] that has existed since the dawn of time. Make relies
> on this, and so while it's possible to shoehorn a java compile through
> a makefile, it's not pleasant.
> Tet
> [1] I keep meaning to check the spec to see if this is defined behaviour
>     or just a "feature" of Sun's (and others') implementation. I don't
>     have the time or inclination to fix it even if it's not mandated by
>     the spec, but I'd be interested to know...

Java compiles each Class to a .class file.  The language allows more than
one Class definition per source .java file.  Hence we end up with a one to
many mapping of source to "object" files.  It got real messy, however, when
they introduced inner (and anonymous) Classes which end up with weird .class
file names based on the Class they sit within.

Another thing that limits a Makefile's usefulness for Java is the difficulty
of determining dependencies.

Gllug mailing list  -  Gllug at

More information about the GLLUG mailing list