Error:java: 无法访问org.apache.http.annotation.ThreadSafe 找不到org.apache.http.annotation.ThreadSafe的类文件

     这几天需要把项目升级,项目用的是springboot,由1.X升级为2.X,这个过程中很是煎熬,各种报错,于是就重新创建新的2.X的项目,然后,再将原来项目的内容迁移过去,但是在这个过程中,出现了一个问题,正如文章标题所写的,有个ThreadSafe找不到。因为项目中依赖了org.apache.http.annotation下的httpclient(v4.5)和core(v4.4.6)。所报的错误正是这俩货闹得。

      打开本地仓库中的包,里面确实没有这个ThreadSafe类,其实就是找个有这个类的包出来就好了。     

      在网上查了一会找到了几篇文章,很有帮助:

http://mail-archives.apache.org/mod_mbox/hc-httpclient-users/201608.mbox/%3C1471634161.5322.3.camel@apache.org%3E

https://issues.apache.org/jira/browse/HDFS-12527

https://issues.apache.org/jira/browse/HTTPCLIENT-1743

     大概意思就是core和httpclient的版本不匹配(其实不查也知道是匹配问题),具体原因是新版的core中舍弃了部分的注解,所以会出现这个问题。(PS:如果我有理解的错误的地方还请看出来的朋友指出)

    于是按照文章中的意思:

    httpclient 4.5.2 与 httpcore 4.4.4 更配哦!

    我最后用的httpclient4.5 与 httpcore 4.4.4完成的。

    但是,原来的项目是4.5 配 4.4.6的啊,它却从没报这个错!难道是项目里别的依赖里包含了这个类?但是别的依赖的包名也不会是org.apache.http.annotation啊,怎么会被引用到呢?很奇怪。希望有懂的大神指点我下,给个可能性的猜测也好,万分感激。

   

    

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值