我创建了一个插件应用程序,需要在运行时动态地从一个文件夹中传递多个依赖 Jar 以进行 JDBC 连接。
使用单个罐子时,工作正常。,
try {
URL u = new URL("jar:file:"/path/to/file.jar"!/");
URLClassLoader ucl = new URLClassLoader(new URL[] { u });
Driver d;
try {
d = (Driver)Class.forName("com.example.xxx.Driver", true, ucl).newInstance();
} catch (ClassNotFoundException e) {
logger.log(Level.ERROR, e.getMessage(), e);
}
DriverManager.registerDriver(new DriverDelegator(d));
} catch (Exception e) {
throw new AdapterException(e);
}
但就我而言,如何在一个目录中加载所有 jar 的所有类并使用此方法用于“JDBC 连接”驱动程序:
d = (Driver)Class.forName("com.example.xxx.Driver", true, ucl).newInstance();
如何使用URLClassLoader && Class.forName()实现它?
提前致谢,
~ 普拉兹求解器