如何创建不会在父级中搜索加载类的ClassLoader

时间:2011-03-26 18:13:51

标签: java classloader

我想我理解类加载层次结构是如何工作的。 (JVM首先查看父层次结构)

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

我确信这是可能的,但是很难找到一个如何做到这一点的简单例子。

1 个答案:

答案 0 :(得分:10)

只需使用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
}