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>

 

 發現項目總會拉下 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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM