我在 Java Gradle 项目中使用 OkHttp 版本 4.12.0 时遇到
java.lang.NoSuchMethodError
问题,我有一个 Spark 作业,我正在尝试将 zip 文件上传到 Minio Bucket。当我尝试使用下面的代码初始化 Minio 客户端时,在 k8s 中运行作业时收到以下错误。
private val minioClient = MinioClient.builder().endpoint(minioHost).credentials(accessKey, secretKey).build();
RunTime Error: Caused by: java.lang.RuntimeException: Unsupported OkHttp library found. Must use okhttp >= 4.11.0 at io.minio.S3Base.(S3Base.java:107) ... 41 more Caused by: java.lang.NoSuchMethodError: 'okhttp3.RequestBody okhttp3.RequestBody.create(byte[], okhttp3.MediaType)' at io.minio.S3Base.(S3Base.java:105)
The Minio libary (io.minio:minio) has a depedency on com.squareup.okhttp3:okhttp:4.12.0.
如果出现任何版本冲突,我将在我的项目中强制使用 4.12.0 版本。我的 Gradle 条目:
configurations.all { resolutionStrategy.force 'com.squareup.okhttp3:okhttp:4.12.0' } implementation group: 'io.minio', name: 'minio', version: '8.5.9'
我可以采取任何其他故障排除步骤来解决此问题吗?预先感谢。
您解决这个问题了吗?我现在也遇到这个问题,目前还没有解决办法。