Gradle 相同jar的不同版本存在于同一个项目中出错解决方案

时间:2024-03-19 11:16:44

错误

如下图所示,httpclient与httpcore存在不同的版本,导致用到该jar的功能模块报错,主要的错误是,不能够识别到底该用哪一版本的class的方法

Gradle 相同jar的不同版本存在于同一个项目中出错解决方案
图1

解决方案

【解决方案1】

删除httpclient-4.2.3.jar

删除httpclient-4.2.2.jar

为什么删除这个版本的,主要是根据模块的jar需要用到哪一版本(当时是由于用阿里云的OSS)

【解决方案2】

更改gradle配置

首先找到是哪个jar依赖httpclient-4.2.3.jar与httpclient-4.2.2.jar,主要命令是进入到项目所在目录,在doc命令窗口下运行gradle dependence,查看项目中各个jar对其他jar的依赖;

最终找到是org.springframework.security:spring-security-openid:3.2.1.RELEASE依赖httpclient-4.2.3.jar与httpclient-4.2.2.jar

更改方案如下所示:

(1)更改,将图2改成图4 

Gradle 相同jar的不同版本存在于同一个项目中出错解决方案
图2

 

 

 

Gradle 相同jar的不同版本存在于同一个项目中出错解决方案
图3

(2)增加图4的内容

 

Gradle 相同jar的不同版本存在于同一个项目中出错解决方案
图4

 

(3)更改之前的依赖

Gradle 相同jar的不同版本存在于同一个项目中出错解决方案
图5