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
Oh, en realidad es un cliente asíncrono construido, está bien,
luego lo usaré MinioAsyncClient
para construir el cliente directamente\
buen chico
Ir a la biblioteca de dependencias para ver la versión
Luego ve al pom de dependencia de minio para ver
¿No es esto entumecido? ¿De dónde salió esta versión? Analicemosokhttp3
las dependencias3.14.9
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
¿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-dependencies
declarada, vamos a sobrescribirla.
Simplemente declare un número de versión que sea el mismo que minio en las propiedades del POM principal.
Hasta aqui el problema esta solucionado