El foso de Minio y SpringBoot sobre okhttp3

tirar ladrillos


Al usar monio para el almacenamiento S3 hoy en día, el cliente de compilación ha generado una excepción al agregar una inicialización del servidor en la nube.

    MinioClient.builder() //NoClassDefFoundError: Could not initialize class MinioAsyncClient

¿eh? ¿Por qué? Confirma las dependencias de NoClassDefFoundError
nuevo , no hay problema, la versión de monio también es la última y no la uso. MinioAsyncClient
Bueno, echemos un vistazo al código fuente (si no quieres ver el proceso, puedes tirar directamente hasta el final )

persiguiendo sombras


imagen.png
Oh, en realidad es un cliente asíncrono construido, está bien,
luego lo usaré MinioAsyncClientpara construir el cliente directamente\

buen chico

Empresa WeChat screenshot_16571595618247.png Ir a la biblioteca de dependencias para ver la versión

imagen.png
Luego ve al pom de dependencia de minio para ver

imagen.png
¿No es esto entumecido? ¿De dónde salió esta versión? Analicemosokhttp3 las dependencias3.14.9

imagen.png
De hecho, la versión se ha cambiado. Lo único que puede cambiar la versión del paquete del proyecto actual es el pom del padre, así que sigamos persiguiéndolo ~
Cuando abrí la búsqueda de dependencias de arranque de primavera del padre, por supuesto

imagen.png
¿No es esto un gran problema? Resultó ser el problema de la versión del líder.

Perfecto


Finalmente encontré al culpable. Ya que esta versión está spring-boot-dependenciesdeclarada, vamos a sobrescribirla.
Simplemente declare un número de versión que sea el mismo que minio en las propiedades del POM principal.

imagen.png
Hasta aqui el problema esta solucionado

Supongo que te gusta

Origin juejin.im/post/7117458669943390245
Recomendado
Clasificación