0
点赞
收藏
分享

微信扫一扫

解决URLClassLoader使用addURL方法失效的问题


直接贴出解决方案:

public void addURL(URL u) {
URLClassLoader sysLoader = (URLClassLoader) this.getClass().getClassLoader();
URL urls[] = sysLoader.getURLs();
for (int i = 0; i < urls.length; i++) { // 过滤已加载的jar文件
if (urls[i].toString().equalsIgnoreCase(u.toString())) {
return;
}
}
Class sysclass = URLClassLoader.class;
try {
Method method = sysclass.getDeclaredMethod("addURL", URL.class);
method.setAccessible(true);
method.invoke(sysLoader, new Object[]{u});
} catch (Throwable t) {
LOGGER.error("Error, could not add URL to system classloader", t);
}
}

可能以上方法不是最优的,但是也是一种解决思路,希望能帮助到大家。


举报

相关推荐

0 条评论