es jar包冲突问题

es本身依赖了许多其他第三方包,在使用es-java api时,如果引用不当会造成jar包冲突无法使用。

1、默认情况下, 使用es-java api,主需要引入如下的maven信息即可:


        org.elasticsearch
        elasticsearch
        2.3.2
    

2、java.lang.NoSuchMethodError:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concu‌rrent/Executor

这种错误是由于guava版本冲突导致,在es-2.3.2版本中使用的是guava1.8版本,如果项目中其他jar引用的是其他版本guava,会造成冲突,解决方案是加上如下依赖:


    com.google.guava
    guava
    18.0

3、Exception in thread "main" java.lang.NoSuchFieldError: FAIL_ON_SYMBOL_HASH_OVERFLOW

这种错误是由于jackson版本冲突导致,在es-2.3.2版本中使用的是jackson2.6.2,如果项目中其他jar引用的其他版本jackson,会造成冲突,解决方案加上如下依赖:

  
     com.fasterxml.jackson.core  
     jackson-core  
     2.6.2  
 


你可能感兴趣的:(java,es)