Java 使用现有类加载器从文件夹中加载类

Java 使用现有类加载器从文件夹中加载类,java,classloader,Java,Classloader,我创建Bukkit插件,并希望动态加载一个类。我写了这段代码: private static Class<?> getClassFromFile(File folder, File file) { if (!folder.exists()) return null; try { URL url = folder.toURL(); URL[] urls = new URL[] { url }; Class

我创建Bukkit插件,并希望动态加载一个类。我写了这段代码:

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;
    }
}
私有静态类getClassFromFile(文件夹,文件){
如果(!folder.exists())
返回null;
试一试{
URL=folder.toURL();
URL[]URL=新URL[]{URL};
ClassLoader=新的URLClassLoader(URL);
类cls=loader.loadClass(getNameWithoutExtension(文件));
返回cls;
}捕获(例外e){
返回null;
}
}
但是我必须使用主类加载器,例如ClassLoader cl; 如何使用现有的类加载器从文件夹“folder”加载文件“file”


谢谢你的帮助

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

对于所有其他人来说:

改变

ClassLoader loader = new URLClassloader(urls);

对我来说很好

URLClassLoader loader = new URLClassLoader(urls, cl);