目录

es-初体验easy-es时报错找不到mapper

es-初体验easy-es时报错:找不到mapper


问题描述

为了方便在springboot项目中使用es,我为项目添加了easy-es框架,按照官方文档,做好了相关的配置。

但在进行测试时,却报错:

https://i-blog.csdnimg.cn/direct/2532eecf2988439cac1374896d79efd8.png

大概的意思就是:项目找不到ProblemMapper。

而我明明在启动类上加了注解,应该是能扫描到对应mapper的:

https://i-blog.csdnimg.cn/direct/d3e8f323e3404b1e8fe7d3c72c33db57.png

真的是百思不得其解,最后差点都要放弃了。

解决方案

然后我保证试一试的心态,修改了一下easy-es依赖的版本

由2.1.0版本:

https://i-blog.csdnimg.cn/direct/abfa9e70004b4335b53791773be74228.png

改为了2.0.0版本:

https://i-blog.csdnimg.cn/direct/541489f9350d47d68426a852c212f42b.png

再次查看启动类,发现注解@EsMapperScan红了

https://i-blog.csdnimg.cn/direct/85d66db53d664eb3ba5ba62b0e1f1b1a.png

也就是项目找不到org.dromara.easyes.spring.annotation.EsMapperScan;

于是我重新导包,发现项目导入的是另一个包的EsMapperScan,即:org.dromara.easyes.starter.register.EsMapperScan;

https://i-blog.csdnimg.cn/direct/300047405ab445d98b14a4b9ee2ce1a5.png

抱着试一试的心态,我重新启动项目,并进行测试,结果意外地成功了:

https://i-blog.csdnimg.cn/direct/845a2f5e02214681aa64c3c5d0a1c9ef.png

原因分析

其实我也不确定是什么原因,但大概率是版本兼容问题。这里就展示我相关依赖的版本

es的RestHighLevelClinet依赖为7.12.1

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.12.1</version>
</dependency>

mybatisplus依赖的版本为3.5.9

<dependency>
     <groupId>com.baomidou</groupId>
     <artifactId>mybatis-plus</artifactId>
     <version>3.5.9</version>
</dependency>

springboot的版本为2.5.15

https://i-blog.csdnimg.cn/direct/169b09e582a74e509ddca37f8e96746d.png