运行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版权协议,转载请附上原文出处链接和本声明。