我想加载一个动态类的列表。 例如我在目录/ hereAreMyClasses: class1.class class2.class class3.class如何让Java从另一个包中加载导入的类?
遍历这些类有一个ClassLoader,并加载它们工作得很好。
现在的问题是,这些类之一(比方说,class2)从另一个位置/另一个包中导入一些类。
import other.package.someClass;
public class class2 {
//stuff
}
能正常工作的编译时间,但是当我运行该程序,我得到了SomeClass的一个NoClassDefFoundError的时候我打电话
Class<?> clazz = clazzLoader.loadClass("class2");
我如何得到的ClassLoader还加载所需的进口类?
编辑
问题解决了,感谢我注意到了,叫我的程序时,我缺少的类路径清晰的答案。
的'import'说法只是针对范围界定编译时间的概念。它对程序没有运行时间影响。 –
导入不会执行任何操作,除非保存输入。人们经常将它与类加载混淆。这不是它在做什么。 – duffymo