未验证 提交 938a4a6e 编写于 作者: S ShadelessFox

#14080 Use bundle classloader if no global libraries are present

上级 4ee7aa18
......@@ -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.
先完成此消息的编辑!
想要评论请 注册