[英]Java: How to load a class (and its inner classes) that is already on the class path?
[英]How to load classes automatically from new Jar added to Class path in java?
我有兩節課:
MainClaz
MyTest2
在MainClaz
,
public class MainClaz {
public static void main(String[] args) throws InterruptedException {
while (true) {
try {
Class aClass = Class.forName("com.test.MyTest2");
Object t = aClass.newInstance();
} catch (Exception e) {
System.out.println("Exception For MyTest2 ");
}
Thread.sleep(10000);
try {
Class aClass = Class.forName("com.test.MyTest3");
Object t = aClass.newInstance();
} catch (Exception e) {
System.out.println("Exception For MyTest3 ");
e.printStackTrace();
}
}
}
}
我將兩個類都打包在一個jar中(Jar 1),並將其放在類路徑中。
由於MyTest3
不存在,因此它將繼續拋出ClassNotFoundException
。
現在說...我創建了一個包含類MyTest3
新jar(Jar 2),並將此jar復制到類路徑Folder。
由於我已經將MyTest3
類放在類中的其他新jar中,因此應該在類路徑中繼續查找MyTest3
,但是會拋出ClassNotFoundException
。
我如何使它工作?
在需求中添加更多信息:
到目前為止,類名已經過硬編碼。 但是它們將從外部源(比如說一些數據庫)中讀取。 但是我想要的是,在類路徑中的新jar中添加新類,在數據庫中添加類的全限定名條目,以便在循環程序的下一次迭代中可以動態加載類。
MyTest3
添加導入: import com.test2.MyTest3;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.