Duplicate :
|
NullPointerException from java.io.DeleteOnExitHook.add methd, if we use System.exit in our code while downloading bundles. Scenario: a) loading a class in a thread. b) In the main thread call System.exit Exception : Error downloading bundle for javax/rmi/CORBA/ValueHandlerMultiFormat.class: java.lang.NullPointerException at java.io.DeleteOnExitHook.add(Unknown Source) at java.io.File.deleteOnExit(Unknown Source) at sun.jkernel.Bundle.download(Unknown Source) at sun.jkernel.Bundle.install(Unknown Source) at sun.jkernel.Bundle.install(Unknown Source) at sun.jkernel.DownloadManager.doGetBootClassPathEntryForResource(Unknown Source) at sun.jkernel.DownloadManager.access$500(Unknown Source) at sun.jkernel.DownloadManager$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.jkernel.DownloadManager.getBootClassPathEntryForResource(UnknownSource) at sun.jkernel.DownloadManager.getBootClassPathEntryForClass(Unknown Source) at java.lang.ClassLoader.findBootstrapClass(Native Method) at java.lang.ClassLoader.findBootstrapClass0(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) Sample Code: new Thread(new Runnable () { Class.forName(className) }).start(); System.exit(0)