有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我创建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;
    }
}

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

谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

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

    对于所有其他人来说:

    改变

    ClassLoader loader = new URLClassloader(urls);
    

    URLClassLoader loader = new URLClassLoader(urls, cl);
    

    对我来说很好