I can't seem to get the retrofitted java.util classes to work!
JDK 1.2 has a different classpath regime than JDK 1.1. Instead of a
single classpath, there is now a bootclasspath and a user classpath.
When loading classes, the compiler looks up the bootclasspath first,
then, if the class was not found there, the user classpath. The
bootclasspath is by default set to
\jdk1.2\jre\lib\rt.jar;\jdk1.2\jre\lib\i18n.jar
(Assuming \jdk1.2 is the directory where you have installed JDK 1.2).
The problem is that the rt.jar archive contains the original
collection classes. Since the bootclasspath is searched first, the
compiler will never find the retrofitted versions!
The problem can be fixed by prefixing the bootclasspath with your own
classes directory (the one where you keep the retrofitted collection
classes). On Windows, this is achieved by having the batch file
gjc.bat read as follows:
java -ms12m gjc.Main -bootclasspath
\gj\classes\;c:\jdk1.2\jre\lib\rt.jar;c:\jdk1.2\jre\lib\i18n.jar %1 %2 %3 %4
%5 %6 %7 %8 %9
On Unix, an alias such as
alias gjc java -ms12m gjc.Main -bootclasspath
$HOME\gj\classes:$HOME\jdk1.2\jre\lib\rt.jar:$HOME\jdk1.2\jre\lib\i18n.jar
should work.
Comments and bug reports to the Pizza Group,
pizza@cis.unisa.edu.au.
Java is a trademark of
Sun Microsystems.
All software and documents on the Pizza site are © Copyright
1996, 1997 by the respective authors as attributed on each.
Terms for
redistribution
are available.