Описание проблемы:
Во время запуска приложения инициализация MilvusServiceClient завершается с ошибкой со следующим исключение:
Код: Выделить всё
java.lang.NoClassDefFoundError: com/google/protobuf/Message
at io.milvus.client.MilvusServiceClient.(MilvusServiceClient.java:183)
at xxx.config.MilvusRestClientFactory.init(MilvusRestClientFactory.java:38)
Что я пробовал до сих пор:
- Проверил дерево зависимостей Maven на предмет выявления конфликтов, связанных с protobuf.
- Удалил все конфликтующие зависимости protobuf из проекта
- Сохранена только версия protobuf, добавленная Milvus SDK.
- Проверено, что эффективная версия зависимости:
Код: Выделить всё
com.google.protobuf:protobuf-java:3.25.5
Дополнительный контекст:
- Версия Milvus: 2.x (проблема возникает в нескольких версиях 2.x)
- Интеграция: Spring Boot + Milvus Java SDK
- Само приложение напрямую не использует API-интерфейсы protobuf
- Это не связано с проблемами IDE или кэша Maven
- Имеет ли Milvus Java SDK неявную или недокументированную совместимость требования для конкретных версий protobuf?
- При использовании Milvus с Spring Boot необходимо ли явно закреплять версию protobuf или исключать определенные транзитивные зависимости?
- Известны ли проблемы конфликта зависимостей между Milvus 2.x, Spring Boot и protobuf или рекомендуемые решения?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ency-confl
Мобильная версия