依赖
- SpringBoot:3.5.12
- HttpClient5:5.6.1
发生场景
执行restTemplate.exchange(url, HttpMethod.GET, entity, NodeListResponse.class).getBody()时报错:
java.lang.ClassNotFoundException: org.apache.hc.core5.io.IOFunction
修复
查看HttpCore5的版本:
$ mvn dependency:tree
[INFO] ...
[INFO] \- org.apache.httpcomponents.client5:httpclient5:jar:5.6.1:compile
[INFO] +- org.apache.httpcomponents.core5:httpcore5:jar:5.3.6:compile
[INFO] +- org.apache.httpcomponents.core5:httpcore5-h2:jar:5.3.6:compile
[INFO] \- org.slf4j:slf4j-api:jar:2.0.17:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.139 s
[INFO] Finished at: 2026-04-24T19:20:35+08:00
[INFO] ------------------------------------------------------------------------
可以看到HttpCore5是由HttpClient5引入的,版本为5.3.6
查询资料后得知Core的5.3.6版本最好配套Client5的5.5.2版本
最终确定的版本:
- HttpCore5:5.3.6
- HttpClient5:5.5.2