当前位置: 首页 > news >正文

解决苍穹外卖项目中 MyBatis - Plus 版本冲突问题

我在开发黑马苍穹外卖项目时,引入 MyBatis - Plus 依赖后,遭遇了 MyBatis 和 MyBatis - Plus 版本冲突的错误,经过一番排查与实践,终于解决,现将过程分享如下:

一、问题现象

项目启动时抛出org.springframework.beans.factory.UnsatisfiedDependencyException异常,底层嵌套java.lang.NoSuchFieldError: IGNORED错误,提示在创建SqlSessionFactory等 Bean 时出现问题,初步判断是 MyBatis - Plus 相关依赖版本不兼容导致。

二、问题根源

(一)依赖版本不一致

sky - pojo模块中,mybatis - plus - annotation的版本为3.5.11,而主模块sky - servermybatis - plus - boot - starter版本是3.5.3.1,二者版本不匹配,使得注解与核心库无法协同工作 。

(二)MyBatis 核心库兼容问题

MyBatis - Plus 3.5.3.1 对 MyBatis 核心库有特定版本要求,项目中引入的 MyBatis 版本不满足其期望,导致出现NoSuchFieldError: IGNORED错误,该错误源于 MyBatis - Plus 期望在 MyBatis 中找到IGNORED字段,但实际版本不包含此内容。

三、解决方案

(一)统一 MyBatis - Plus 相关依赖版本

sky - pojo模块里,将mybatis - plus - annotation的版本修改为与sky - servermybatis - plus - boot - starter一致的版本,确保整个项目中 MyBatis - Plus 相关依赖版本统一。修改后的pom.xml依赖如下:

<!-- 在sky - pojo模块中修改 -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis - plus - annotation</artifactId><version>3.5.3.1</version> <!-- 与主模块版本一致 --><scope>compile</scope>
</dependency>

(二)清理并重新构建项目

  1. 执行mvn clean install命令,清理项目原有构建产物并重新构建,确保新的依赖配置生效。
  2. 在 IDE(如 IntelliJ IDEA)中,执行 “Invalidate Caches” 操作清理缓存并重启 IDE,避免旧缓存影响新依赖加载。

四、总结

在使用 MyBatis - Plus 这类框架时,要注意相关依赖的版本兼容性。不同模块间的依赖版本要保持统一,否则容易出现类找不到、字段不存在等诡异错误。这是我的排查步骤:

  1. 检查所有相关依赖的版本,找出不一致的部分;
  2. 统一版本,确保依赖协同工作;
  3. 清理构建产物与 IDE 缓存,重新构建项目。
http://www.xdnf.cn/news/1259263.html

相关文章:

  • Cisco 2018-2023年度互联网报告深度解析:数字化转型时代的网络发展趋势与战略洞察
  • 计算机毕业设计java疫情开放下的新冠信息共享平台 基于Java的社区疫情防控人员流动管理系统 疫情防控期间社区人员动态管理系统
  • SpringBoot如何固定版本
  • Java 虚拟机之双亲委派机制
  • CSS--:root指定变量,其他元素引用
  • 蓝桥杯----数码管、按键、定时器与中断
  • E频段无线射频链路为5G网络提供高容量回程解决方案 — 第一部分
  • 全球化2.0 | 泰国IT服务商携手云轴科技ZStack重塑云租赁新生态
  • 2025数字马力一面面经(社)
  • 《C语言》函数练习题--3
  • FluentUI-main的详解
  • 【Day 18】Linux-DNS解析
  • 聚水潭API数据接口开发手机端网页查询商品仓位库位库存工具,支持扫描识别,预览图片
  • 第五节 Pyside6可视化界面
  • 支付宝小程序商城怎么搭?ZKmall开源商城教你借力蚂蚁生态做增长
  • C++的入门学习
  • 力扣238:除自身之外数组的乘积
  • 4G/5G无线电单元系统
  • 网络安全与软件定义汽车的发展
  • 计算机视觉前言-----OpenCV库介绍与计算机视觉入门准备
  • 学习嵌入式第二十二天
  • Centos6停止服务后yum改用阿里云
  • python中的集合
  • OpenCV 入门教程:开启计算机视觉之旅
  • Redis 编译错误:缺少静态库文件,如何解决?
  • MCU中的晶振(Crystal Oscillator)
  • 机试备考笔记 7/31
  • Linux总线,设备和驱动关系以及匹配机制解析
  • 国内使用 npm 时配置镜像源
  • 多模态融合(Multimodal Fusion)