Re: [Ikvm-developers] Class loading issue of com.sun.xml* classes
Brought to you by:
jfrijters
From: Jeroen F. <je...@su...> - 2010-10-12 13:45:19
|
Hi, This fails because the class loader returned by getContextClassLoader (by default this is the system class loader) does not know how to load this class. BTW, this is unrelated to your problem, but even in Java this is not the recommended way to load a class. At the very least you should use Class.forName("...", false, cl) instead of calling loadClass directly. If you can change the code, change it to simply do Class.forName("...") and it will work (if this code ends up in the same assembly as the XWSSProcessorFactory2_0Impl class. If you cannot change the code, you'll need to set the context class loader to a class loader that knows how to load XWSSProcessorFactory2_0Impl. For more on class loading see https://sourceforge.net/apps/mediawiki/ikvm/index.php?title=ClassLoader Regards, Jeroen > -----Original Message----- > From: Thibaut HENRY [mailto:thi...@gm...] > Sent: Tuesday, October 12, 2010 3:12 PM > To: ikv...@li... > Subject: [Ikvm-developers] Class loading issue of com.sun.xml* classes > > Dear IKVM developers, > > I have a class loading issue on this type of code : > > ClassLoader cl = Thread.currentThread().getContextClassLoader(); > Class claz = > cl.loadClass("com.sun.xml.wss.impl.misc.XWSSProcessorFactory2_0Impl"); > Object processor = claz.newInstance(); > > > > > This code raised a class not found Exception when executed from dotNet > (it works correctly in Java). The generated DLL contains this class, so > i don't understand why the class loading fails... > > Any idea ? > > > > > Note : > > This code works : > > new com.sun.xml.wss.impl.misc.XWSSProcessorFactory2_0Impl(); > > > > |