在运行时加载jar

时间:2011-07-19 06:32:30

标签: java classloader

我正在进行comm.jarRXTXComm.jar进行串行通信。我的课程中都有这两个罐子。

现在,根据配置参数,我应该在运行时导入适当的jar。 请帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

您可以实例化一个类加载器并加载jar文件。标准类加载器具有您需要的所有功能。

好的教程/链接开始:

答案 1 :(得分:1)

假设他们都有一个超类C

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Class.html#forName(java.lang.Stringhttp://download.oracle.com/javase/1.4.2/docs/api/java/lang/Class.html#newInstance()

Class a;
if(foo)
    a = Class.forname("rxtx.somepackage.Someclass");
else
    a = Class.forname("comm.somepackage.SomeOtherclass");
C c = a.newInstance();

答案 2 :(得分:0)

CommDriver driver;
if (configA) {
    driver = (CommDriver) Class.forName("rxtx.driver.package").newInstance();
} else {
     driver = (CommDriver) Class.forName("com.sun.comm.Win32Driver").newInstance();
}
driver.initialize();