未验证 提交 06b33dc3 编写于 作者: S Serge Rider 提交者: GitHub

Merge pull request #14333 from dbeaver/drivers-global-libraries-classloader-fix#14080

#14080 Use bundle classloader if no global libraries are present
......@@ -1075,7 +1075,11 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver {
libraryURLs.add(url);
}
// Make class loader
this.classLoader = new DriverClassLoader(this, libraryURLs.toArray(new URL[0]), rootClassLoader);
this.classLoader = new DriverClassLoader(
this,
libraryURLs.toArray(new URL[0]),
rootClassLoader != null ? rootClassLoader : getDataSourceProvider().getClass().getClassLoader()
);
}
private static synchronized void loadGlobalLibraries() {
......@@ -1088,6 +1092,10 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver {
log.error("Can't load global library '" + library + "'", e);
}
}
if (libraries.isEmpty()) {
// No point in creating redundant classloader
return;
}
rootClassLoader = new URLClassLoader(libraries.toArray(new URL[0]), DriverDescriptor.class.getClassLoader());
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册