我已经更新了Spring Boot项目以使用新的ElasticSearch 2 API,并且在启动时遇到此错误:
Caused by: java.lang.NoClassDefFoundError: org/elasticsearch/common/settings/ImmutableSettings$Builder
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethods(Class.java:1975)
我相关的Maven依赖项是:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
<version>1.3.0.M5</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>2.0.0-rc1</version>
</dependency>
您对我做错了什么吗?
谢谢
最佳答案
在ES 2.0中,确实删除了ImmutableSettings
类。 This issue提到了它,breaking changes documentation for 2.0也提到了它。
相反,您现在可以使用Settings.builder()
而不是ImmutableSettings.builder()
。 Settings
类的当前实现可以看到here
仍然使用ImmutableSettings
的所有问题都是关于Elasticsearch的 2.0之前的版本的问题。