![](/img/trans.png)
[英]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.