2011-03-26 18 views
6

我想我理解类加载层次结构是如何工作的。 (JVM首先查找父层次结构)如何创建一个不会搜索父类以加载类的ClassLoader

所以我想创建一个ClassLoader或使用现有的库,它是一个完全独立的作用域,并且不会查看父ClassLoading层次结构。其实我正在寻找启动一个单独的JVM的相同效果,但没有这样做。

我相信这是可能的,但很惊讶,很难找到一个简单的例子来说明如何做到这一点。

回答

9

只需使用URLClassLoader并提供null作为父项。

File myDir = new File("/some/directory/"); 
ClassLoader loader = null; 
try { 
    URL url = myDir.toURL();   
    URL[] urls = new URL[]{url}; 
    loader = new URLClassLoader(urls, null); 
} 
catch (MalformedURLException e) 
{ 
    // oops 
} 
相关问题