java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy 错误解决办法

您所在的位置:网站首页 truststrategy怎么写istursted java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy 错误解决办法

java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy 错误解决办法

2024-07-09 13:21| 来源: 网络整理| 查看: 265

前天,在调第三方SDK开发的时候,报了一个错误为java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy,下面来说下产生这个的原因和解决办法:

原因:TrustStrategy这个类找不到,经查看这个TrustStrategy位于org.apache.http.ssl.TrustStrategy包底下,属于httpcore-4.4.jar包底下,或者更高版本底下,而4.4以下的版本并没有这个类,所以产生这个错误的原因就是项目底下引用了低版本的httpcore的jar包,而这个httpcore的jar包又是跟httpclient的jar包相关联的,所以httpclient的jar包也要用较高版本。

解决办法:由于我的是Maven项目,所以全局搜索引用了httpcore的jar包,即搜索httpcore,然后选择后缀名为xml的文件名,后面搜索出来一看有些模块果真引用了较低版本的httpcore和httpclient的jar包,pom.xml打包文件引用打代码如下:

org.apache.httpcomponents httpcore 4.3.2 org.apache.httpcomponents httpclient 4.3.3

此时就必须把这段代码改为如下所示,较高版本的相关jar包,但前提是你私服底下有这个jar包,或者本地资源库有这个jar包:

org.apache.httpcomponents httpcore 4.4.3 org.apache.httpcomponents httpclient 4.5.1

后面,改完后再重新一试,还是报这个错误,原来httpcore的jar包和httpclient的jar包是有关联的,而pom.xml有些只有依赖了httpclient,但是在Maven依赖库底下还是有httpcore的jar包,还是低版本的,所以还是全局搜httpclient,把pom.xml底下的关于httpclient的全部改为如下所示的代码,没有httpcore的也要加这个依赖,不然还是会报错,代码如下所示:

org.apache.httpcomponents httpcore 4.4.3 org.apache.httpcomponents httpclient 4.5.1

Caused by: java.lang.ClassNotFoundException: org.apache.http.ssl.TrustStrategy at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) … 19 more

然后上述的报错就解决了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3