2015-11-12 3 views
1

Я пытаюсь обновить apaly-версию java-клиента elasticsearch от 1.4.2 до 2.0.0. Я использую Java 1.8 .I использовать этот код:Elasticsearch 2.0 NoClassDefFoundError для JsonXContentGenerator

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> 

ответ

13

причина в том, у меня не было 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> 

И проблема решена!

Смежные вопросы