我将maven项目部署到maven私有服务器。在其他项目中引入依赖项后,okhttp3的版本从4.7.2更改为3.14.9
已部署项目的maven依赖项:mdm-auth-spring-boot-starter 1:https://i.stack.imgur.com/JQJe6.png
另一个项目引入了mdm-auth-spring-boot-starter 2:https://i.stack.imgur.com/YVFnI.png
为什么okhttp3的版本会发生变化?我的系统是Win 10,JDK版本1.8.181,maven版本3.6.3
重新安装系统、JDK和maven不能解决这个问题。
发布于 2020-06-21 19:51:42
您扩展的spring-boot-starter-parent:2.3.1-RELEASE
通过spring-boot-dependencies将com.squareup.okhttp3:okhttp
版本管理到3.14.9
<okhttp3.version>3.14.9</okhttp3.version>
...
<dependencyManagement>
<dependencies>
...
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>${okhttp3.version}</version>
</dependency>
...
</dependencies>
</dependencyManagement>
这在dependency management中有文档记录
Spring Boot的每个版本都提供了它所支持的依赖项的精选列表。实际上,您不需要在构建配置中为这些依赖项中的任何一个提供版本,Spring Boot会为您管理这些依赖项。
您需要接受这一点并使用该版本,或者在您的项目中为您想要构建的okhtttp
版本设置okhttp3.version
属性。
发布于 2020-06-21 19:49:39
问题可能出在传递依赖中(一些其他依赖关系依赖于okhttp3 3.14.9,它可以覆盖4.7.2 )您可以尝试执行mvn dependency:tree -Dverbose=true
https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html并查找您有哪些版本的okhttp3,并查看哪个其他依赖项带来了3.14.9版本。
https://stackoverflow.com/questions/62498065
复制相似问题