异常描述
在引入了Elasticsearch依赖之后启动项目报错
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.4.2</version>
</dependency>
异常信息
java.lang.IncompatibleClassChangeError: Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected
异常原因
Elasticsearch版本冲突
打开侧边maven依赖管理,找到elastcsearch相关依赖,发现我们导入的elasticsearch相关依赖版本为7.4.2,
但是maven依赖管理中还存在7.6.2的版本
同时,找到项目的pom文件中依赖的父项目,按住ctrl单击进入
再找到父项目pom文件中的父项目,按住ctrl单击进入,往下滑可以看到依赖版本管理
ctrl+f全局搜索,可以看到最终原因,父项目的依赖版本为7.6.2,这就可以解释为什么我们项目中会出现7.6.2这个版本
解决办法
回到自己的项目,编写pom文件
刷新maven,完成