美文网首页
无法访问org.apache.http.annotation.T

无法访问org.apache.http.annotation.T

作者: vayci | 来源:发表于2018-05-31 15:19 被阅读0次

一次jar包版本不匹配的坑

问题背景

开发了一个程序,大量使用了httpclient,在idea运行正常,但使用maven打包时出错
无法访问org.apache.http.annotation.ThreadSafe

pom引入httpclient 版本4.5.2,idea自动引入了依赖包httpcore 4.4.9 及 httpmime 4.5.5


报错无法访问类,第一反应就是看看这个类到底在不在,是不是jar包未引入或者版本不对。

于是找到httpcore的jar包一看


哎哟,真没有~

带着疑问来到搜索引擎,让我使用httpcore 4.3.2


这个版本有这个ThreadSafe,但是不难想到肯定有其他问题,毕竟这个版本相差有点大。

还是换回httpcore 4.4.9吧

于是下载各个版本的httpcore ,发现在4.4.4以后就抛弃了@ThreadSafe

那就用4.4.4试一下


好像可以了

究竟是哪里还在使用@ThreadSafe呢

在httpclient 4.5.2里是有使用的,比如org.apache.http.impl.cookie包内的很多类。而在4.5.3版本则没有使用了。
所以最后使用的是 httpclient 4.5.3 ,httpcore 4.4.9 ,httpmime 4.5.5

相关文章

网友评论

      本文标题:无法访问org.apache.http.annotation.T

      本文链接:https://www.haomeiwen.com/subject/mluqsftx.html