从具有现有 class 加载程序的文件夹加载 class

Load class from a folder with an existing class loader

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

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;
    }
}

但我必须使用主要的 class 加载器,例如 ClassLoader cl; 如何使用现有的 class 加载程序从文件夹 "folder" 加载文件 "file"?

感谢您的帮助

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

对于那里的所有其他人:

改变

ClassLoader loader = new URLClassloader(urls);

URLClassLoader loader = new URLClassLoader(urls, cl);

对我来说很好用!