mybatis-plus @Select注解的坑 The method's class, org.apache.ibatis.annotations.Select, is available

运行时报错信息如下:

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    com.baomidou.mybatisplus.core.MybatisMapperAnnotationBuilder$AnnotationWrapper.<init>(MybatisMapperAnnotationBuilder.java:684)

The following method did not exist:

    org.apache.ibatis.annotations.Select.databaseId()Ljava/lang/String;

The method's class, org.apache.ibatis.annotations.Select, is available from the following locations:

    jar:file:/C:/Users/Administrator/.m2/repository/org/mybatis/mybatis/3.5.2/mybatis-3.5.2.jar!/org/apache/ibatis/annotations/Select.class

The class hierarchy was loaded from the following locations:

    org.apache.ibatis.annotations.Select: file:/C:/Users/Administrator/.m2/repository/org/mybatis/mybatis/3.5.2/mybatis-3.5.2.jar


Action:

Correct the classpath of your application so that it contains a single, compatible version of org.apache.ibatis.annotations.Select

2021-06-28 08:37:47.099 ERROR 3324 --- [           main] o.s.test.context.TestContextManager      : Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@68c9133c] to prepare test instance [com.ecolor.energy.service.impl.ReportServiceImplTest@75ad30c1]

java.lang.IllegalStateException: Failed to load ApplicationContext

当时就很懵逼,org.apache.ibatis.annotions.Select 这个包是有的啊,也可以点进去

随网上找了一下基本上没人遇到这个问题

最后折腾了一两天后 发现居然是 maven包冲突导致的,原因是 mybatis-plus 自带 mybatis 所以不需要再引入mybatis依赖

解决方法:

删除 自项目中 mybatis 依赖即可 

相关 mybatis 的配置 也可以通过 mybatis-plus 进行配置

上一篇:MIRACL密码库分析报告2 mrgcm.c


下一篇:netty优化策略