我想加載一個動態類的列表。 例如我在目錄/ 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