0


开源 Ruo-Yi 项目引入 Mybatis-Plus:3.5.3 报错ClassNotFoundException:

开源

  1. Ruo-Yi

项目引入

  1. Mybatis-Plus:3.5.3

报错ClassNotFoundException:

  1. Caused by:java.lang.ClassNotFoundException:com.baomidou.mybatisplus.extension.plugins.MybatisPlusInter

1 分析问题

控制台报错说明我们

  1. 引入的 mybatis-plus 的依赖

里找不到

  1. com.baomidou.mybatisplus.extension.plugins.MybatisPlusInter

这个类。

去查看一下。

如下图所示,我们引入的MP版本是

  1. 3.5.3

,报错显示

  1. extesion

包里报

  1. ClassNotFoundException

异常了。

所以,去

  1. MP:3.5.3

包里查看一下

  1. pom.xml

文件对应的

  1. extesion

依赖包的版本,如下图,是

  1. extesion:3.5.3


在这里插入图片描述

接着,去查看

  1. extension:3.5.3

包里是否有报

  1. ClassNotFoundException

异常的那个class文件。

如下图所示,是有的。所以我们引入的依赖没有问题。

在这里插入图片描述

不过也很清晰的看到,

  1. extension

包的版本引入了两个,一个是我们引入的

  1. 3.5.3

,一个是

  1. 3.3.2

所以,问题大概在这个

  1. extension:3.3.2

这个包里。去看一下,这个包里有没有报

  1. ClassNotFoundException

异常的那个class文件。

如下图所示,没有。那么问题就发现在哪里了。我们需要的是引入的

  1. 3.5.3

版本,但是编译的时候用的是

  1. 3.3.2

这个包。

在这里插入图片描述

所以,这个bug的原因就是

  1. MP依赖版本冲突

,接下来只要解决掉依赖版本冲突就行了。

2 解决问题

如下,

  1. maven helper

插件没有识别出这个版本依赖的冲突。

发现这个依赖在

  1. ruoyi-generate模块

里。

如下,使用

  1. maven-helper

插件来分析

  1. ruoyi-generate模块

。确实发现了

  1. 依赖冲突问题

,接下来需要做的事情就是,解决冲突,由于我们需要

  1. MP-3.5.3

,不需要

  1. MP-3.3.2

,所以这里直接排除

  1. MP-3.3.2

就OK咯!

按理说,到这里,没有冲突就好了。

但是,

  1. ruoyi-generate模块

里又用到了

  1. mybatis-plus-extension

依赖,就报了如下的错。

在这里插入图片描述

别慌,很简单!

这里我导入了

  1. mybatis-plus-annotation:3.5.3

的依赖,这两个报错倒是没有了,不过又出现了一个问题。

  1. ruoyi-generate

这个模块里的这个类用到了

  1. IdType.ID_WORKER_STR

这个枚举。

  1. 3.5.3版本

里没有这个枚举,所以该怎么解决呢?

在这里插入图片描述

答: 原本在这个模块里就使用了

  1. 3.3.2版本的 MP

,所以我猜想这里用到的

  1. mybatis-plus-annotation:3.3.2

依赖肯定也被

  1. 排除exclude

了。问题又来了,我们刚才排除掉的是

  1. mybatis-plus-extension:3.3.2

依赖,并没有排除

  1. mybatis-plus-annotation:3.3.2

依赖。所以我大胆猜想

  1. mp-annotation:3.3.2

依赖肯定在

  1. mp-extension:3.3.2

依赖里。

如果是这样,由于我们确实

  1. mp-annotation:3.3.2

依赖,所以在

  1. ruoyi-generate

模块里直接引入这个依赖就行了。

如下来

  1. 验证

我们的

  1. 猜想

在这里插入图片描述

下同

果然,

  1. mp-annotation:3.3.2

依赖在

  1. mp-extension:3.3.2

依赖里被依赖了。所以我们排除掉

  1. mp-extension:3.3.2

依赖的同时也将

  1. mp-annotation:3.3.2

依赖排除了。

至此,在

  1. ruoyi-generate

模块里,重新引入

  1. mp-annotation:3.3.2

即可。

如下图,编译器在编译的时候并没有报错,

  1. 问题成功解决

!!!

标签: mybatis ruoyi

本文转载自: https://blog.csdn.net/weixin_45805749/article/details/137726697
版权归原作者 none_dl 所有, 如有侵权,请联系我们删除。

“开源 Ruo-Yi 项目引入 Mybatis-Plus:3.5.3 报错ClassNotFoundException:”的评论:

还没有评论