springboot整合elasticsearch时遇坑
抛异常:Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected
分析
导致这个错误主要是maven依赖与elasticsearch的版本不一致导致的
这里面又有两个包是7.6.2
解决方案
思路:现将这两个包给排除然后在单独引用
代码
<properties>
<!--jdk版本-->
<java.version>1.8</java.version>
<!--es版本-->
<elasticsearch.version>7.4.2</elasticsearch.version>
</properties>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>${elasticsearch.version}</version>
<exclusions>
<exclusion>
<artifactId>elasticsearch</artifactId>
<groupId>org.elasticsearch</groupId>
</exclusion>
<exclusion>
<artifactId>elasticsearch-rest-client</artifactId>
<groupId>org.elasticsearch.client</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<artifactId>elasticsearch</artifactId>
<groupId>org.elasticsearch</groupId>
<version>7.4.2</version>
</dependency>
<dependency>
<artifactId>elasticsearch-rest-client</artifactId>
<groupId>org.elasticsearch.client</groupId>
<version>7.4.2</version>
</dependency>