這幾天需要把項目升級,項目用的是springboot,由1.X升級為2.X,這個過程中很是煎熬,各種報錯,於是就重新創建新的2.X的項目,然后,再將原來項目的內容遷移過去,但是在這個過程中,出現了一個問題,正如文章標題所寫的,有個ThreadSafe找不到。因為項目中依賴了org.apache.http.annotation下的httpclient(v4.5)和core(v4.4.6)。所報的錯誤正是這倆貨鬧得。
打開本地倉庫中的包,里面確實沒有這個ThreadSafe類,其實就是找個有這個類的包出來就好了。
大概意思就是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啊,怎么會被引用到呢?很奇怪。希望有懂的大神指點我下,給個可能性的猜測也好,萬分感激。
歡迎關注微信公眾號“Java面試達人”,(id:javasuperman),收看更多精彩內容