繁体   English   中英

如何从添加到Java中的类路径的新Jar中自动加载类?

[英]How to load classes automatically from new Jar added to Class path in java?

我有两节课:

  1. MainClaz
  2. 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中添加新类,在数据库中添加类的全限定名条目,以便在循环程序的下一次迭代中可以动态加载类。

  1. 将新罐子的包名称更改为test2
  2. MyTest3添加导入:
import com.test2.MyTest3;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM