[Info-vax] Versioning fun

Arne Vajhøj arne at vajhoej.dk
Wed Mar 27 12:54:16 EDT 2024


On 3/27/2024 12:13 PM, Single Stage to Orbit wrote:
> On Wed, 2024-03-27 at 11:03 -0400, Arne Vajhøj wrote:
>>> It is vital to delete the X.class files otherwise it will load that
>>> instead of the jar files.
>>
>> Yes. I should probably have mentioned that explicit.
>>
>> Java class loaders are hierarchical and searched top down. The
>> default class loader with default classpath of current directory
>> is searched before the jar files in the special class loaders.
> 
> There's the '-cp' to find these classes in other places. My long
> repressed java memories are returning, :(

Whatever is specified by -cp get added to the app class loader.

$ java -cp .:a.jar:/foo/b.jar:/bar/c.jar Dump
Class search path for Default:
   1 - sun.misc.Launcher$ExtClassLoader - 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/cldrdata.jar 
file:/DISK$X86SYS/SYS0
/SYSCOMMON/openjdk$80/jre/lib/ext/dnsns.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/jaccess.jar 
file:/DISK$X86SYS/SY
S0/SYSCOMMON/openjdk$80/jre/lib/ext/localedata.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/nashorn.jar 
file:/DISK$X8
6SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/sunec.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/sunjce_provider.jar 
fil
e:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/sunpkcs11.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/zipfs.jar
   2 - sun.misc.Launcher$AppClassLoader - file:/DISK2/ARNE/ 
file:/DISK2/ARNE/a.jar file:/foo/b.jar file:/bar/c.jar
Class search path for V1 library:
   1 - sun.misc.Launcher$ExtClassLoader - 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/cldrdata.jar 
file:/DISK$X86SYS/SYS0
/SYSCOMMON/openjdk$80/jre/lib/ext/dnsns.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/jaccess.jar 
file:/DISK$X86SYS/SY
S0/SYSCOMMON/openjdk$80/jre/lib/ext/localedata.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/nashorn.jar 
file:/DISK$X8
6SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/sunec.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/sunjce_provider.jar 
fil
e:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/sunpkcs11.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/zipfs.jar
   2 - sun.misc.Launcher$AppClassLoader - file:/DISK2/ARNE/ 
file:/DISK2/ARNE/a.jar file:/foo/b.jar file:/bar/c.jar
   3 - java.net.URLClassLoader - file:/DISK2/ARNE/v1.jar
Class search path for V2 library:
   1 - sun.misc.Launcher$ExtClassLoader - 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/cldrdata.jar 
file:/DISK$X86SYS/SYS0
/SYSCOMMON/openjdk$80/jre/lib/ext/dnsns.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/jaccess.jar 
file:/DISK$X86SYS/SY
S0/SYSCOMMON/openjdk$80/jre/lib/ext/localedata.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/nashorn.jar 
file:/DISK$X8
6SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/sunec.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/sunjce_provider.jar 
fil
e:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/sunpkcs11.jar 
file:/DISK$X86SYS/SYS0/SYSCOMMON/openjdk$80/jre/lib/ext/zipfs.jar
   2 - sun.misc.Launcher$AppClassLoader - file:/DISK2/ARNE/ 
file:/DISK2/ARNE/a.jar file:/foo/b.jar file:/bar/c.jar
   3 - java.net.URLClassLoader - file:/DISK2/ARNE/v2.jar

Arne




More information about the Info-vax mailing list