Динамически загружать все jar-файлы из каталога с помощью URLClassLoader в Driver - PullRequest
0 голосов
/ 13 апреля 2019

Я создал приложение-плагин, и мне нужно динамически передавать несколько JAR-зависимостей из папки во время выполнения для соединения JDBC.

При использовании одного JAR-файла работает нормально.,

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 () ??

Заранее спасибо,

~ Праз Солвер

...