在项目pom.xml中加入依赖
1 2 3 4 5 6 7 8 9 10 11 | < 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的版本
1 2 3 | < properties > < elasticsearch.version >7.6.1</ elasticsearch.version > </ properties > |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/182745/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)