File file = new File("C:\\yourclasses\\");
try
{
URL url = file.toURL();
URL[] urls = new URL[]{url}; ClassLoader cl = new URLClassLoader(urls); Class cls = cl.loadClass("yourclass");
}
catch(MalformedURLException e)
{
}
catch(ClasssNotFoundException e)
{
}
try
{
URL url = file.toURL();
URL[] urls = new URL[]{url}; ClassLoader cl = new URLClassLoader(urls); Class cls = cl.loadClass("yourclass");
}
catch(MalformedURLException e)
{
}
catch(ClasssNotFoundException e)
{
}
http://www-900.ibm.com/developerWorks/cn/java/l-secureclass/index.shtml#5
其上说到了如何自己写一个ClassLoader并使用它,他说的是自己写一个CostomClassLoader类继承ClassLoader,并重载其中的LoadClass等方法,然后用
java CustomClassLoader arg0...
这样就可以使用你的CustomClassLoader了。但是我觉得这样只是在jvm上运行了CustomClassLoader,CustomClassLoader里面使用重载后的LoadClass方法再去加载了其它的类。并不是让CustomClassLoader替换了JVM中的ClassLoader类。
如果是当java app (app是任何一个普通java类)时,jvm都是使用CustomClassLoader来加在app类时,这样才叫JVM使用了“CustomClassLoader”,不知你的问题是不是问的后面这种情况下的“使用自己的ClassLoader”,如果是,我也想知道答案,知道答案了记得也告诉我。^-^