java.lang.NoSuchMethodError: io.searchbox.action.Action.getURI () Ljava / lang / String - PullRequest
0 голосов
/ 18 октября 2019

Я получаю сообщение об ошибке при создании приложения для весенней загрузки. Я использую ES, и ошибка приходит, пока jestClient вызывает метод execute. Ошибка:

Причина: org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем 'configService': сбой вызова метода init;Вложенное исключение - java.lang.NoSuchMethodError: io.searchbox.action.Action.getURI () Ljava / lang / String;

Ошибка возникает из метода выполнения jestHttpClient.class

public <T extends JestResult> T execute(Action<T> clientRequest, RequestConfig requestConfig) throws IOException {
    HttpUriRequest request = this.prepareRequest(clientRequest, requestConfig);
    CloseableHttpResponse response = null;

    JestResult var5;
    try {
        response = this.executeRequest(request);
        var5 = this.deserializeResponse(response, request, clientRequest);
    } catch (HttpHostConnectException var14) {
        throw new CouldNotConnectException(var14.getHost().toURI(), var14);
    } finally {
        if (response != null) {
            try {
                response.close();
            } catch (IOException var13) {
                log.error("Exception occurred while closing response stream.", var13);
            }
        }

    }

    return var5;

}

1 Ответ

0 голосов
/ 18 октября 2019

Это распространенная ошибка, которая возникает, когда вы компилируете другую версию класса, на которую он ссылается в коде. Это может произойти из-за того, что зависимость импортирована дважды.

Например, вы можете вручную импортировать зависимость, которая содержит io.searchbox.action.Action, но io.searchbox.action.Action также импортируется в зависимости внутри другой зависимости с другой версией.

Просто позаботьтесь о версии, которую вы компилируете, потому что в новейших версиях Jest getURL выглядит следующим образом

String getURI(ElasticsearchVersion elasticsearchVersion);

Но в 5.3.4 включено

String getURI();
...