Возможное решение: включите jar соединителя в свой jar, распакуйте его где-нибудь во время выполнения и используйте URLClassLoader
для загрузки драйвера.
Пример полностью абстрактного вызова драйвера MSSQL:
URLClassLoader cl = ...; // create and initialize URLClassLoader
Class c = cl.loadClass("com.microsoft.sqlserver.jdbc.SQLServerDataSource").newInstance().getClass();
c.getMethod("setUser", String.class).invoke(o, connectionParameters.user);
c.getMethod("setPassword", String.class).invoke(o, connectionParameters.password);
c.getMethod("setServerName", String.class).invoke(o, connectionParameters.serverName);
c.getMethod("setDatabaseName", String.class).invoke(o, connectionParameters.databaseName);
return (Connection) c.getMethod("getConnection").invoke(o);
Он использует специфичные для MS-драйвера методы, но не требует, чтобы драйвер находился на вашем пути к классам.