1 package org.columba.core.main; 19 20 import java.lang.reflect.Field ; 21 import java.net.URL ; 22 import java.net.URLClassLoader ; 23 import java.util.Vector ; 24 25 import sun.misc.URLClassPath; 26 27 32 public class MainClassLoader extends URLClassLoader { 33 34 private Vector <URL > vector = new Vector <URL >(); 35 36 public MainClassLoader(ClassLoader parent) { 37 super(new URL [] {}, parent); 38 39 URLClassLoader sysloader = (URLClassLoader ) ClassLoader 41 .getSystemClassLoader(); 42 43 try { 45 Field ucp = URLClassLoader .class.getDeclaredField("ucp"); 46 ucp.setAccessible(true); 47 URLClassPath currentCP = (URLClassPath) ucp.get(sysloader); 48 URL [] currentURLs = currentCP.getURLs(); 49 50 for (int i = 0; i < currentURLs.length; i++) { 52 vector.add(currentURLs[i]); 53 } 54 55 } catch (Exception e) { 56 e.printStackTrace(); 57 } 58 } 59 60 public void addURL(URL url) { 61 super.addURL(url); 62 } 63 64 public void addURLs(URL [] urls) { 65 for ( int i=0; i<urls.length; i++) { 66 super.addURL(urls[i]); 67 } 68 } 69 } 70 | Popular Tags |