Я использую следующий код для загрузки класса драйвера:
public class DriverLoader extends URLClassLoader {
private DriverLoader(URL[] urls) {
super(urls);
File driverFolder = new File("driver");
File[] files = driverFolder.listFiles();
for (File file : files) {
try {
addURL(file.toURI().toURL());
} catch (MalformedURLException e) {
}
}
}
private static DriverLoader driverLoader;
public static void load(String driverClassName) throws ClassNotFoundException {
try {
Class.forName(driverClassName);
} catch (ClassNotFoundException ex) {
if (driverLoader == null) {
URL urls[] = {};
driverLoader = new DriverLoader(urls);
}
driverLoader.loadClass(driverClassName);
}
}
}
Хотя класс загружается нормально, я не могу установить соединение с базой данных (не найден подходящий драйвер для ...) нет неважно, какой драйвер я пробую.
Я предполагаю, что это потому, что я не загружаю класс драйвера с помощью Class.forName (что не сработает, поскольку я использую свой собственный ClassLoader). Как я могу это исправить?