Mybatis-plus与Mybatis依赖冲突问题解决方法

错误描述

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.getLanguageDriver(MybatisMapperAnnotationBuilder.java:369)

The following method did not exist:

com.baomidou.mybatisplus.core.MybatisConfiguration.getLanguageDriver(Ljava/lang/Class;)Lorg/apache/ibatis/scripting/LanguageDriver;

The method's class, com.baomidou.mybatisplus.core.MybatisConfiguration, is available from the following locations:

说明

SpringBoot版本:2.3.9.RELEASE
MyBatis-plus版本:3.3.1

这个问题不是一开始就存在的,在SpringBoot版本2.X是正常的,但是在提升SpringBoot版本后,就出现了这个问题

解决过程

首先不要果断的下定论这个是什么问题,类似这样的问题可以通过IDEA工具定位一下,鼠标点击【1】位置进入到对应的代码位置,注意要点击右上角提示的Download Source下载源码

待代码下载完毕之后,这里可以很清晰的看到configuration没有getLanguageDriver这个方法,在进入到configuration对象

可以看到最终定位到了上面的位置,然后看到extends关键字可以分析出getLanguageDriver肯定是存在于下面的俩个类中的

com.baomidou.mybatisplus.core.MybatisConfiguration
org.apache.ibatis.session.Configuration

在针对上面俩个包路径分析,可以看到第一个是属于mybatisplus.core依赖下的,第二个是属于mybatis依赖下,于是针对这俩种情况分别做个测试
1、升级mybatisplus包依赖,但是我这边已经是很高的版本的了,及时升级到最新的版本后依然没有看到getLanguageDriver方法,所以问题不在这里
2、升级mybatis包,由于引入的mybatis-plus-boot-starter已经集成了MyBatis包,所以这里需要首先将其exclude,然后引入单独的较高版本的MyBatis包依赖

升级完成之后再进入到刚才错误的位置,可以看到已经正常了

可以看到最终这个方法处理逻辑是由父类完成的

org.apache.ibatis.session.Configuration#getLanguageDriver

到此这篇关于Mybatis-plus与Mybatis依赖冲突问题解决方法的文章就介绍到这了,更多相关Mybatis-plus与Mybatis依赖冲突内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解决Mybatis-plus和pagehelper依赖冲突的方法示例

    简介 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 Mybati-plus本身自带分页功能,但是我个人一直是使用pagehelper进行分页,所以在pom中添加了pagehelper依赖,但是运行项目后发现jar包冲突,面对冲突我们应该怎么解决它呢,看完如下内容便可轻松解决 先看依赖 <!-- mbatis-plus --> &

  • Mybatis-plus与Mybatis依赖冲突问题解决方法

    错误描述 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.getLanguageDriver(MybatisMapperAnnotationBuilder.java:369) The following met

  • Springboot2.6.x高版本与Swagger2版本冲突问题解决方法

    目录 问题: 原因 完整解决方案: 问题: Spring Boot 2.6.x版本引入依赖 springfox-boot-starter (Swagger 3.0) 后,启动容器会报错: Failed to start bean ‘ documentationPluginsBootstrapper ‘ ; nested exception… 原因 Springfox 假设 Spring MVC 的路径匹配策略是 ant-path-matcher,而 Spring Boot 2.6.x版本的默认匹

  • jQuery冲突问题解决方法

    在前端开发中,$是jQuery中的一个函数,如果$的参数不同,那实现的功能不同.在编程过程中,$作为一个符号,可能与其他文件中的定义名称相冲突.那这个冲突如何处理呢?本文小编介绍两种方法: 1.通过jQuery框架中释放 $ 符号的使用权解决: 2.使用自定义访问符号解决. 方法一:通过jQuery框架中释放 $ 符号的使用权解决 处理说明:$只是jquery的一个别名而已,如果需要使用 jquery 之外的另一 js 库,可以通过调用 $.noConflict() 向该库返回控制权. jQue

  • Android Studio Gradle依赖冲突解决方法

    前言 本文主要给大家介绍了Android Studio Gradle依赖冲突解决的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1. 查看依赖树 ./gradlew dependencies 2. 解决依赖冲突 一旦在构建中存在依赖冲突,开发人员需要决定哪个版本的库最终包含在构建中,有许多解决冲突的方法. 1. 逐个排除 compile('junit:junit:4.12'){ exclude group : 'org.hamcrest',module:'hamcre

  • js中单引号与双引号冲突问题解决方法

    如何解决js中单引与双引冲突,想下面的这段代码: 复制代码 代码如下: html += ' <a onclick="return removeOpenCss('+e.point.lng+e.point.lat+')">取消</a>'; 这是js中的代码,如果这里这样写的话,会提示js错误,是因为removeOpenCss方法里的参数没有单引或者双引,如果这里,这样写的话: 复制代码 代码如下: html += ' <a onclick="retu

  • 金山词霸与卡巴冲突问题解决方法

    不知道使用卡巴斯基的朋友有没有碰到一个问题,开启金山词霸后,只要鼠标点击输入单词的文本框,词霸就会失去响应,并且无法结束进程,我试一一下,不是取词功能的问题,把卡巴关了以后,一切正常. 问题解决办法如下: 首先:对任务栏上的卡巴图标点右键,然后单击"设置",在出现的界面里点击右边中间一点的"信任区域".在弹出来的界面里切换到"信任程序",再单击右边"添加-浏览-再点浏览",然后再找到词霸的主程序,也就是"xdict.

  • Android App中ViewPager所带来的滑动冲突问题解决方法

    叙述 滑动冲突可以说是日常开发中比较常见的一类问题,也是比较让人头疼的一类问题,尤其是在使用第三方框架的时候,两个原本完美的控件,组合在一起之后,忽然发现整个世界都不好了. 关于滑动冲突 滑动冲突分类: 滑动冲突,总的来说就是两类. 1.同方向滑动冲突 比如ScrollView嵌套ListView,或者是ScrollView嵌套自己 2.不同方向滑动冲突 比如ScrollView嵌套ViewPager,或者是ViewPager嵌套ScrollView,这种情况其实很典型.现在大部分应用最外层都是

  • IDEA引MAVEN项目jar包依赖导入问题解决方法

    IDEA内置了Maven环境,默认采用Maven解决项目依赖问题.在新建项目后,项目的路径中会生成pom.xml文件和项目名.iml文件.新建项目后,IDEA不会自动刷新Maven的依赖.以Spring Application为例,新建项目编译时提示以下错误信息: 刷新Maven配置的方法为: (1)右键单击项目: (2)在弹出菜单中选择Maven|Reimport菜单项. 此时,IDEA将通过网络自动下载相关依赖,并存放在Maven的本地仓库中.另外,可以将Maven的刷新设置为自动,配置方法

  • 导入extjs、jquery 文件时$使用冲突问题解决方法

    1.在最近做项目时,在html页面中,没有导入jquery文件时,可以正常保存,而导入jquery文件后,则不能不存了 经过调试后,发现导入的jquery文件和现有的extjs文件冲突了(原因是$符号的冲突) jQuery与ExtJS之间发生冲突,但是在非IE内核下是可以的,是由于$符号的冲突,解决办法就是把jQuery的$符号用其他来代替,代码如下: 复制代码 代码如下: <script type="text/javascript" src="js/jquery.js

随机推荐