Spring + google cloud: нет подходящего bean-компонента типа com.google.cloud.storage.Storage.

Я пытаюсь использовать библиотеку Spring для облачного API Google:

spring-cloud-gcp-starter-vision

Но Spring Application Context не загружается с ошибкой:

Вызвано: org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка создания bean-компонента с именем 'documentOcrTemplate', определенным в ресурсе пути к классу [org / springframework / cloud / gcp / autoconfigure / vision / CloudVisionAutoConfiguration $ VisionOcrConfiguration.clisfiguration]: Upendency выражение метод 'documentOcrTemplate' параметр 1; вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: нет подходящего bean-компонента типа com.google.cloud.storage.Storage: ожидается как минимум 1 bean-компонент, который квалифицируется как кандидат autowire. Аннотации зависимостей: {} ...

Я не уверен, как я могу справиться с этим, потому что это весь код Google, а ничего в моем собственном коде.

Просто для информации, вот как я пытаюсь использовать эту библиотеку:

@Service
public class OCRServiceImpl implements OCRService {

    private static Log LOGGER = LogFactory.getLog(OCRServiceImpl.class);

    @Autowired
    private CloudVisionTemplate cloudVisionTemplate;

    @Autowired
    private ResourceLoader resourceLoader;

person Bracha    schedule 08.02.2020    source источник
comment
странно, что на локальном он работает, после того, как он помещен в контейнер в GCP, выдает исключение UnsatisfiedDependencyException, я проверил конструктор CloudVisionTemplate, и у него есть ImageAnnotatorClient. как насчет сканирования этого пакета?   -  person Tiago Medici    schedule 01.03.2020


Ответы (2)


Вы установили spring.cloud.gcp.vision?

@ConfigurationProperties("spring.cloud.gcp.vision")

и посмотрите @CloudVisionAutoConfiguration

    @Bean
    @ConditionalOnMissingBean
    public CloudVisionTemplate cloudVisionTemplate(ImageAnnotatorClient imageAnnotatorClient) {
        return new CloudVisionTemplate(imageAnnotatorClient);
    }

Похоже, вам не хватает конфигурации свойств !!!

person Tiago Medici    schedule 01.03.2020

Вам нужно добавить оба spring-cloud-gcp-starter-vision и spring-cloud-gcp-starter-storage к вашим зависимостям.

См. cloud-vision-ocr-dependencies.

person Emily Ball    schedule 03.11.2020