ElasticSearch 2.0 Java API:java.lang.ClassNotFoundException:org.elasticsearch.common.settings.ImmutableSettings $ Builder [英] ElasticSearch 2.0 Java API: java.lang.ClassNotFoundException: org.elasticsearch.common.settings.ImmutableSettings$Builder

查看:3216
本文介绍了ElasticSearch 2.0 Java API:java.lang.ClassNotFoundException:org.elasticsearch.common.settings.ImmutableSettings $ Builder的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经更新了我的Spring Boot项目以使用新的ElasticSearch 2 API,并在启动时收到此错误:

 导致通过:java.lang.NoClassDefFoundError:org / elasticsearch / common / settings / ImmutableSettings $ Builder 
在java.lang.Class.getDeclaredMethods0(本机方法)
在java.lang.Class.privateGetDeclaredMethods(Class。 java:2701)
在java.lang.Class.getDeclaredMethods(Class.java:1975)

我的相关Maven依赖关系是:

 <依赖关系> 
< groupId> org.springframework.boot< / groupId>
< artifactId> spring-boot-starter-data-elasticsearch< / artifactId>
< version> 1.3.0.M5< / version>
< / dependency>
<依赖关系>
< groupId> org.elasticsearch< / groupId>
< artifactId> elasticsearch< / artifactId>
< version> 2.0.0-rc1< / version>
< / dependency>

你对我做错了什么提示吗?



谢谢

解决方案

在ES 2.0中, ImmutableSettings 类确实被删除了。 此问题提及它和破坏2.0更改文档也提到。



<而您现在可以使用 Settings.builder()而不是 ImmutableSettings.builder() Settings 类的当前实现可以看到这里



所有仍然使用的问题 ImmutableSettings 是关于Elasticsearch的 pre-2.0版本的问题。


I have updated my Spring Boot project to use the new ElasticSearch 2 API and I get this error at startup:

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)

My relevant Maven dependencies are:

    <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>

Do you have any hint on what I am doing wrong?

Thanks

解决方案

In ES 2.0, the ImmutableSettings class was indeed removed. This issue mentions it and the breaking changes documentation for 2.0 also mention it.

Instead you can now use Settings.builder() instead of ImmutableSettings.builder(). The current implementation of the Settings class can be seen here

All the questions that still use ImmutableSettings are questions about pre-2.0 versions of Elasticsearch.

这篇关于ElasticSearch 2.0 Java API:java.lang.ClassNotFoundException:org.elasticsearch.common.settings.ImmutableSettings $ Builder的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆