Elasticsearch5.4.3与Spring集成出现的问题

错误一:IllegalArgumentException: Could not resolve placeholder 'jdbc.driverClassName' in string value "${...}"

出现这个问题是因为我在配置文件中使用了多个<context:property-placeholder>

applicationContext.xml中:

    <context:property-placeholder location="classpath:es.properties" />  
    <import resource="applicationContext-es.xml" />  

   <context:property-placeholder location="classpath:jdbc.properties" />    

在使用多个property-placeholder时,正确的写法是:
<context:property-placeholder location="classpath:es.properties" ignore-unresolvable="true" />  
<context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true" />  
详细参考:https://blog.csdn.net/linwei_1029/article/details/6873764

错误二:

java.lang.NoSuchFieldError: FAIL_ON_SYMBOL_HASH_OVERFLOW

错误三:

java.lang.ClassNotFoundException: com.fasterxml.jackson.core.filter.TokenFilter 

错误二和三其实可以归类为同一个问题。都是由于jackson版本与es依赖不一致导致的,elasticsearch5.4.3需要jackson版本如下:需要根据elasticsearch版本下载对应的jackson

<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.8.6</version>
    </dependency> 
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.6</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.8.6</version>
    </dependency>

猜你喜欢

转载自blog.csdn.net/wangqing84411433/article/details/86604402