首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring & Elastic NoSuchMethodError: NoSuchMethodError

Spring & Elastic NoSuchMethodError: NoSuchMethodError
EN

Stack Overflow用户
提问于 2019-08-13 10:42:15
回答 1查看 2.5K关注 0票数 1

我们用一个Spring Boot 2.1.7.RELEASE客户端创建了一个ElasticSearch 7.3.0应用程序。

在尝试运行弹性客户端时,我们会得到以下这行的错误:

SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

代码语言:javascript
复制
Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.elasticsearch.action.support.IndicesOptions.ignoreThrottled()Z] with root cause 
java.lang.NoSuchMethodError: org.elasticsearch.action.support.IndicesOptions.ignoreThrottled()Z
  at org.elasticsearch.client.RequestConverters$Params.withIndicesOptions(RequestConverters.java:966)
at org.elasticsearch.client.RequestConverters.addSearchRequestParams(RequestConverters.java:417)
at org.elasticsearch.client.RequestConverters.search(RequestConverters.java:404)
at org.elasticsearch.client.RestHighLevelClient.lambda$search$2(RestHighLevelClient.java:932)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1450)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1424)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1394)
at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:930)

我们使用这些依赖项:

代码语言:javascript
复制
 <properties>
    <spring-boot-version>2.1.7.RELEASE</spring-boot-version>
    <elasticsearch.version>7.0.0</elasticsearch.version>
</properties>

     <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>${spring-boot-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
        <version>${spring-boot-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <version>${spring-boot-version}</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>${spring-boot-version}</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>7.3.0</version>
    </dependency>

我们找到了导致我们添加这个职位属性的elasticsearch.version,但是它没有帮助。

我们还运行mvn dependency:tree -Dverbose来查看是否存在弹性依赖关系,但似乎只有弹性客户端有与弹性相关的jar。

更新

这个职位之后,我们试图将弹性客户端版本降级为7.1.1,但没有帮助

EN

回答 1

Stack Overflow用户

发布于 2019-08-13 11:09:17

这个答案在这里之后,我们发现Elastic服务器有一个6.5.4版本。

将依赖项更改为

<elasticsearch.version>6.5.4</elasticsearch.version>

代码语言:javascript
复制
    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>${elasticsearch.version}</version>
    </dependency>

解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57476073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档