URLClassLoader问题

时间:2017-02-22 16:40:56

标签: java classloader urlclassloader

我有一个文件夹,里面有我要加载的类。

Folder

我的URLClassLoader似乎对其他所有课程都很好,但有时因某种原因行为不端,这让我感到疯狂。该文件夹中列出的所有类基本上都是空的(没有构造函数,字段,方法)并且属于它们自己的包。

package death;
public class Death{

}

package death;
public class Awesome{

}

package abc.dfg.hijk;
public class Test {

}

package mesa;
public class ZZ{

}

我有一个机制可以提取一个类所属的包,并在控制台上打印出来。

Console Output

这是我用来加载每个类的代码

    String fileName = file.getName();

    if (fileName.contains(".class")) {

        URL[] urls = new URL[]{ classesFolder.toURI().toURL() };
        URLClassLoader loader = URLClassLoader.newInstance(urls);

        String packageName = getPackage(file);

        //substring -6 because of .class
        Class clazz = loader.loadClass(packageName + fileName.substring(0, fileName.length() - 6));

        loader.close();
    }

    System.out.println("Done loading " + file.getName());
    System.out.println("");

我不确定这里发生了什么,虽然我觉得我肯定错过了一些东西,因为所有其他类似乎加载得很好。 packageName的值对于所有已加载的类都是正确的。我知道我做错了什么?

0 个答案:

没有答案