当一个类或一个资源文件存在多个jar中,就会出现jar hell问题。
可以通过以下代码来诊断方案:
try {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
String resourceName = "net/sf/cglib/proxy/MethodInterceptor.class";
Enumeration<URL> urls = classLoader.getResources(resourceName);
while(urls.hasMoreElements()){
System.out.println(urls.nextElement());
}
} catch (IOException e) {
e.printStackTrace();
}输出结果:jar:file:/D:/workspace/Test/lib/cglib-3.2.4.jar!/net/sf/cglib/proxy/MethodInterceptor.class
本文介绍了一个常见问题——JarHell,并提供了一段诊断代码,通过输出特定类文件在不同jar包中的位置来帮助开发者定位问题。
756

被折叠的 条评论
为什么被折叠?



