java.lang.NoSuchFieldError: INSTANCE 解决方法

运行java web项目时提示:java.lang.NoSuchFieldError: INSTANCE,跟踪发现时httpClient版本冲突的原因,删除冲突的jar包即可。
如果不知道冲突jar包的位置,可以通过如下的方法跟踪:
这里写图片描述
如图:

 String className = SSLConnectionSocketFactory.class.getName();
 String classNamePath = className.replace(".", "/") + ".class";
 URL is = SSLConnectionSocketFactory.class.getClassLoader().getResource(classNamePath);
 String path = is.getFile();
 path = StringUtils.replace(path, "%20", " ");
 Sysout.out.println(StringUtils.removeStart(path, "/"));

通过这个方法可以看到class的加载路径,通过加载路径查找冲突的jar,删除即可。


版权声明:本文为svmachine原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。