【问题标题】:How do I create a ClassLoader that will not search the parent for loading classes如何创建一个不会搜索父级以加载类的 ClassLoader
【发布时间】:2011-07-23 14:07:42
【问题描述】:

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

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

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

【问题讨论】:

    标签: java classloader


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-12-05
      • 2012-04-06
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 2015-05-17
      • 1970-01-01
      • 1970-01-01
      • 2012-04-29
      相关资源
      最近更新 更多