Skip to content

Instantly share code, notes, and snippets.

@danglotb
Created September 14, 2016 07:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danglotb/25c99bc854067718840efd088c8a03a1 to your computer and use it in GitHub Desktop.
Save danglotb/25c99bc854067718840efd088c8a03a1 to your computer and use it in GitHub Desktop.
private ClassLoader buildLoader() throws Exception {
List<URL> urls = new ArrayList<>();
urls.addAll(((PluginClassLoader) getClass().getClassLoader()).getUrls());
urls.addAll(getParent().getUrls());
return new URLClassLoader(urls.toArray(new URL[urls.size()]));
}
private UrlClassLoader getParent() throws Exception {
Field parents = PluginClassLoader.class.getDeclaredField("myParents");
parents.setAccessible(true);
return (UrlClassLoader) ((ClassLoader[]) parents.get((PluginClassLoader) getClass().getClassLoader()))[0];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment