不同功能jar,同包名同类名冲突解决!

2020年11月19日 04:18:07   [来源:互联网]   [阅读:-]
字体:【
不同功能jar,同包名同类名冲突解决

原因

项目中需要用到httpClienttika-app相关jar,在使用httpClient远程调用的时候发现有冲突并且没有使用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)
不同功能jar,同包名同类名冲突解决


SSLConnectionSocketFactory这个类调用的有问题,由于包名和类名相同,没有调用httpClient里的,而是调用tika-app里的。

解决

1、百度结果是httpClientjar版本冲突,但是项目中只有一个版本,这是不符合的。但是这种情况是会有。
2、把httpClient相关的jar包删除,然后在idea 中(随便创建一个类或者在其他类的方法中) new SSLConnectionSocketFactory() ,点进去定位当前类在哪个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之前加载,忽略后面)

推荐阅读:江西在线


相关新闻
新闻焦点
凡关乎美的东西,都离不开色彩。一直觉得,中国是个没有绚烂色彩的国家,能想起来的色彩,也都单调乏味,比如,宫墙红?也许是太熟悉了的缘故。反倒是很多[更多]
正所谓:一屋,两人,三餐,四季。最幸福的生活莫过于,平淡却温馨的日常生活。想要过上这种生活,取决于三餐离不开的餐厅。但是实际上你家的餐厅区域,餐[更多]
厨房虽小,却装着天下美食,在家里,不管是谁主厨,一个好的厨房绝对能让整个烹饪过程高效节能。空间动线//节省劳动时间//在做饭过程中,是不是总觉得[更多]
生活不止眼前的苟且,还有买房和家装,而家装的投入决定了之后生活居住的品质。相信大多数业主从拿到新家钥匙的那一刻起,脑海中对未来生活的完美憧憬和口[更多]
关于我们 | 联系我们 | XML地图 | 网站地图TXT | 版权声明
版权所有:嘉兴都市网未经授权禁止复制或建立镜像
相关作品的原创性、文中陈述文字以及内容数据庞杂本站无法一一核实,如果您发现本网站上有侵犯您的合法权益的内容,请联系我们,本网站将立即予以删除!
中国互联网违法和不良信息举报中心 网络警察报警岗亭