Springboot es包版本異常解決方案
在項目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>
發(fā)現(xiàn)項目總會拉下 6.4.3 的版本,并且項目中也會引用這個版本然后啟動項目,還會發(fā)現(xiàn)找不到方法的異常

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)
點進去發(fā)現(xiàn) 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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java使用JDBC或MyBatis框架向Oracle中插入XMLType數據
XMLType是Oracle支持的一種基于XML格式存儲的數據類型,這里我們共同來探究Java使用JDBC或MyBatis框架向Oracle中插入XMLType數據的方法:2016-07-07
SpringBean和Controller實現(xiàn)動態(tài)注冊與注銷過程詳細講解
這篇文章主要介紹了SpringBean和Controller實現(xiàn)動態(tài)注冊與注銷過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-02-02
關于@ComponentScan?TypeFilter自定義指定掃描bean的規(guī)則
這篇文章主要介紹了關于@ComponentScan?TypeFilter自定義指定掃描bean的規(guī)則,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
SpringBoot中的ThreadLocal保存請求用戶信息的實例demo
線程局部變量,創(chuàng)建一個線程變量后,針對這個變量可以讓每個線程擁有自己的變量副本,每個線程是訪問的自己的副本,與其他線程的相互獨立,本文介紹SpringBoot中的ThreadLocal保存請求用戶信息,需要的朋友可以參考下2024-05-05

