java - JsonXContentGenerator 的 Elasticsearch 2.0 NoClassDefFoundError

标签 java elasticsearch

我正在尝试将我的 elasticsearch java 客户端 api 版本从 1.4.2 更新到 2.0.0。我正在使用 java 1.8。我使用这段代码:

   XContentBuilder builder = XContentFactory.jsonBuilder()

它曾经在 1.4.2 中工作,但我在 2.0.0 中遇到此异常:

   Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.common.xcontent.json.JsonXContentGenerator
   at org.elasticsearch.common.xcontent.json.JsonXContent.newXContentGenerator(JsonXContent.java:69) ~[elasticsearch-2.0.0.jar:2.0.0]
   at org.elasticsearch.common.xcontent.json.JsonXContent.createGenerator(JsonXContent.java:74) ~[elasticsearch-2.0.0.jar:2.0.0]
   at org.elasticsearch.common.xcontent.json.JsonXContent.createGenerator(JsonXContent.java:80) ~[elasticsearch-2.0.0.jar:2.0.0]
   at org.elasticsearch.common.xcontent.XContentBuilder.<init>(XContentBuilder.java:112) ~[elasticsearch-2.0.0.jar:2.0.0]
   at org.elasticsearch.common.xcontent.XContentBuilder.<init>(XContentBuilder.java:102) ~[elasticsearch-2.0.0.jar:2.0.0]
   at org.elasticsearch.common.xcontent.XContentBuilder.builder(XContentBuilder.java:80) ~[elasticsearch-2.0.0.jar:2.0.0]
   at org.elasticsearch.common.xcontent.json.JsonXContent.contentBuilder(JsonXContent.java:40) ~[elasticsearch-2.0.0.jar:2.0.0]
   at org.elasticsearch.common.xcontent.XContentFactory.contentBuilder(XContentFactory.java:122) ~[elasticsearch-2.0.0.jar:2.0.0]
   at org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder(XContentFactory.java:49) ~[elasticsearch-2.0.0.jar:2.0.0]

在 pom.xml 中:

   <dependency>
       <groupId>org.elasticsearch</groupId>
       <artifactId>elasticsearch</artifactId>
       <version>2.0.0</version>
   </dependency>

最佳答案

原因是我的依赖列表中没有 com.fasterxml.jackson.core,所以这是导致

        java.lang.ClassNotFoundException: com.fasterxml.jackson.core.util.DefaultIndenter

我将其添加到我的 pom.xml 中:

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.6.3</version>
        </dependency>

问题解决了!

关于java - JsonXContentGenerator 的 Elasticsearch 2.0 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33668694/

相关文章:

java - EAD xsd 生成的 JAXBException

java - 如何配置 Jackson ObjectMapper 以使用自定义值序列化某些 bean 的某些字段(如果它们为空)?

mapping - not_analyzed 字段,其 doc_values 仍在 fielddata 缓存中

elasticsearch - 在搜索中排除用户,最佳方式

java - 模拟静态方法链

java - 为什么 Oracle 对象为每个文本属性返回 "???"?

elasticsearch - ElasticSearch-索引模板和索引模式有什么区别

elasticsearch - 有一些工具可以将Elasticsearch与Apache Cassandra链接吗?

elasticsearch - Logstash 重新创建 Elasticsearch 索引时出错

java - 如何使用 Java/Tomcat 在 Azure 上设置 SSL