从具有现有类加载器的文件夹加载类

时间:2015-04-05 19:30:37

标签: java classloader

我创建了Bukkit-Plugins,我想动态加载一个类。我写了这段代码:

private static Class<?> getClassFromFile(File folder, File file) {
    if (!folder.exists())
        return null;
    try {
        URL url = folder.toURL();
        URL[] urls = new URL[] { url };

        ClassLoader loader = new URLClassLoader(urls);

        Class<?> cls = loader.loadClass(getNameWithoutExtension(file));
        return cls;
    } catch (Exception e) {
        return null;
    }
}

但我必须使用主类加载器,例如ClassLoader cl; 如何使用现有的类加载器从文件夹“folder”加载文件“file”?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我找到了一个非常简单的解决方案:D!

对于那里的所有其他人民:

更改

ClassLoader loader = new URLClassloader(urls);

URLClassLoader loader = new URLClassLoader(urls, cl);

对我来说很好!