文档首页/ 对象存储服务 OBS/ 常见问题/ API和SDK等开发者相关/ Java SDK报错okhttp3.RequestBody.create(java.lang.String,okhttp3.MediaType)
更新时间:2024-10-15 GMT+08:00

Java SDK报错okhttp3.RequestBody.create(java.lang.String,okhttp3.MediaType)

问题现象

OBS Java SDK报错“okhttp3.RequestBody.create(java.lang.String,okhttp3.MediaType)”。

问题原因

因spring-boot约定了三方依赖的版本,可参考:Spring-boot Managed Dependency Coordinates。在spring-boot框架中引入OBS SDK时,会将SDK所指定的三方依赖okhttp3的版本由4.8.0降至3.14.9,导致无法获取到指定方法。可以通过使用集成了三方依赖的bundle版SDK来进行规避,或在您的项目中显示的引用 4.8.0 版本的okhttp3。

解决方法

参考依赖缺失和依赖冲突的解决确认三方依赖版本是否引用正确,或直接使用如下代码引入bundle版SDK替换原版即可。

<dependency>
    <groupId>com.huaweicloud</groupId>
    <artifactId>esdk-obs-java-bundle</artifactId>
    <version>[3.21.8,)</version>
</dependency>