欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Springboot es包版本异常解决方案

时间:2021-02-21 14:55:11|栏目:JAVA代码|点击:

在项目pom.xml中加入依赖

<dependency>
  <groupId>org.elasticsearch.client</groupId>
  <artifactId>elasticsearch-rest-high-level-client</artifactId>
  <version>7.6.1</version>
</dependency>

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

发现项目总会拉下 6.4.3 的版本,并且项目中也会引用这个版本然后启动项目,还会发现找不到方法的异常

Exception in thread "main" java.lang.NoSuchMethodError: org.elasticsearch.client.Request.addParameters(Ljava/util/Map;)V
at org.elasticsearch.client.RequestConverters.index(RequestConverters.java:341)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1510)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1484)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1454)
at org.elasticsearch.client.RestHighLevelClient.index(RestHighLevelClient.java:871)
at com.majb.es.ESMain.main(ESMain.java:23)

点进去发现 RequestConverters 引用的7.6.1版本,

而Request 引用的却是6.4.3版本。 很明显是版本的问题了。那就奇怪了,我引用的7.6.1版本,但是rest-client包却是6.4.3。

原因是因为我用的springboot版本是2.1.6。 这个版本的springboot默认引用的是es 的6.4.3版本。所以我们要在pom.xml中显式的指定es的版本

 <properties>
<elasticsearch.version>7.6.1</elasticsearch.version>
  </properties>

上一篇:Spring Boot利用@Async如何实现异步调用:自定义线程池

栏    目:JAVA代码

下一篇:java中javamail收发邮件实现方法

本文标题:Springboot es包版本异常解决方案

本文地址:http://www.codeinn.net/misctech/67107.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有