Menu

#33 ClassLoader.loadClass initializes too much?

open
nobody
None
5
2008-09-26
2008-09-26
No

It seems that using Sun JVM (1.6.0_10) trying to do a

Class<?> myClass = cl.loadClass("someClass");

where someClass references unresolveable classes works fine, whereas jamvm 1.5.1 throws

java.lang.NoClassDefFoundError: javax/microedition/lcdui/CommandListener
at java.lang.VMClassLoader.defineClass(Native Method)
at java.lang.VMClassLoader.defineClassWithTransformers(VMClassLoader.java:373)
at java.lang.ClassLoader.defineClass(ClassLoader.java:471)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:83)
at java.net.URLClassLoader.findClass(URLClassLoader.java:615)
at java.lang.ClassLoader.loadClass(ClassLoader.java:341)
at java.lang.ClassLoader.loadClass(ClassLoader.java:293)
at MyClass.myMethod(MyClass.java:481)
at MyClass.<init>(MyClass.java:379)
at MyClass.main(MyClass.java:72)
Caused by: java.lang.ClassNotFoundException: javax.microedition.lcdui.CommandListener not found in java.net.URLClassLoader{urls=[jar:file:/home/user/extension.jar!/], parent=java.lang.ClassLoader$1{urls=[file:/usr/share/java/swt.jar,file:/home/root/myproject/], parent=null}}
at java.net.URLClassLoader.findClass(URLClassLoader.java:529)
at java.lang.ClassLoader.loadClass(ClassLoader.java:341)
at java.lang.ClassLoader.loadClass(ClassLoader.java:293)
at java.lang.VMClassLoader.defineClass(Native Method)
...9 more

Discussion


Log in to post a comment.