Dev*_*han 10 java spring maven elasticsearch spring-boot
我是弹性搜索的新手。开始使用 Elastic 搜索构建 Spring Boot 应用程序。
使用最新的 ES 版本"elasticsearch-7.7.1"并进行集成,我使用以下 maven 依赖项:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.7.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
将以下配置添加到我的 Spring Boot 应用程序中:
@Configuration
public class ESConfig {
@Bean(destroyMethod = "close")
public RestHighLevelClient client() {
RestHighLevelClient restHighLevelClient = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost")));
return restHighLevelClient;
}
}
Run Code Online (Sandbox Code Playgroud)
将以下属性添加到 application.yaml
elasticsearch:
host: localhost
Run Code Online (Sandbox Code Playgroud)
应用程序启动时出现以下异常:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.RestHighLevelClient]: Factory method 'client' threw exception; nested exception is java.lang.NoSuchFieldError: IGNORE_DEPRECATIONS
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622)
... 19 common frames omitted
Caused by: java.lang.NoSuchFieldError: IGNORE_DEPRECATIONS
at org.elasticsearch.client.RestHighLevelClient.<clinit>(RestHighLevelClient.java:1902)
at com.sbs.communicationcontrol.search.config.ESConfig.client(ESConfig.java:14)
Run Code Online (Sandbox Code Playgroud)
任何人都可以请帮助为什么会发生此异常?
Dev*_*han 18
经过一些研发,通过添加以下两个依赖项来解决问题:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.7.1</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.7.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3843 次 |
| 最近记录: |