欧美一区精品二区三区|不卡国产丝袜在线观看|亚洲色中文字幕无码av|欧美色综合高清视频在线|亚洲欧美日韩丝袜另类一区|无码国产手机在线a√片无|国产精品主播福利大秀小视频|精品国产一区二区三区无码动图

不同功能jar,同包名同類名沖突解決

2020-03-25 06:35:14  閱讀:-  來源:

原因

項目中需要用到httpClienttika-app相關(guān)jar,在使用httpClient遠(yuǎn)程調(diào)用的時候發(fā)現(xiàn)有沖突并且沒有使用maven等其他包管理工具。

java.lang.NoSuchFieldError: INSTANCE at org.apache.http.conn.ssl.SSLConnectionSocketFactory.(SSLConnectionSocketFactory.java:146)
at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:964)
at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:56)


SSLConnectionSocketFactory這個類調(diào)用的有問題,由于包名和類名相同,沒有調(diào)用httpClient里的,而是調(diào)用tika-app里的。

解決

1、百度結(jié)果是httpClientjar版本沖突,但是項目中只有一個版本,這是不符合的。但是這種情況是會有。
2、把httpClient相關(guān)的jar包刪除,然后在idea 中(隨便創(chuàng)建一個類或者在其他類的方法中) new SSLConnectionSocketFactory() ,點(diǎn)進(jìn)去定位當(dāng)前類在哪個jar里。然后定位到tika-app這個jar。
3、tika-app里的org.apache.http這個包,項目中沒有用到,果斷刪掉。
刪除方法 :

7z d tika-app-1.12.jar org/apache/http

7z是一種壓縮和解壓工具。

4、還有一種方法是讓httpClient包在tika-app之前,這樣的話

class在加載的時候先加載前面的,后面的就忽略掉了。(并沒有試成功,我不知道如何讓httpClienttika-app之前加載,忽略后面)