Re: Java libraries and proposal.
On Sat, Apr 07, 2001 at 07:47:29PM -0700, Per Bothner wrote:
> I disagree. My goal is that that /usr/share/java (or
> /usr/share/java/lib if you prefer) should be similar to Sun's
> extensions directory: a directory where *all* .jars
> (i.e. /usr/share/java/*.jar) are added to the implied classpath.
> (This is of course a default assuming nothing is over-ridden.) Yes,
> you could define a standard where all .jars in all subdirectories of
> /usr/share/java (i.e. /usr/share/java/*/*.jar) but I think that is
> going too far.
I think explicitly specifying the .jars you want to import into your
library or application, with sonames if necessary, seems better. The
'add everything' approach only invites DLL hell.
The list of jars (basically equivalent to CLASSPATH) could simply be
stored in a jar member or attribute, and the .so versions could use
plain old library dependency information.
Class visibility for applets and servlets would of course be handled
by the browser resp. server involved rather than use the same
mechanism as for applications.
> Anyway, I think using Extension-List or something similar should be
> a refinement for the future. For now applications that want special
> library versions should install a shell script that sets the CLASSPATH
> to include the preferred jar file versions.
This really ought to go in the first version. Then there's no need to
import the whole /usr/share/java directory at all.
> Well, each VM is responsible for setting its own builtin classpath.
This sounds reasonable, but there might be a problem with things that
depend on certain versions of the basic java libraries.
> Unless they have trademarked "javac" they don't get to say what gets
> run when a user types it. The only relevant license issue I know about
> is about re-distributing jdk but only as long as no part is "replaced".
If this is an issue 'javac' can simply say it will only run with the jdk
James Deikun, Techie(tm), CSI Multimedia
The opinions expressed &c.