记录:java.lang.NoClassDefFoundError: org/apache/ibatis/annotations/Mapper...【解决方案】

794 阅读5分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第22天,点击查看活动详情

一、前言🔥

👨‍🎓作者:bug菌

✏️博客:CSDN掘金

💌公众号:猿圈奇妙屋

🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。

🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系bug菌处理。

       哈喽,小伙伴们,我是bug菌呀👀,不知不觉就一年又4月,正是踏青郊游的好时节。可上海疫情,除了在家远程办公就是看点技术顺便卷点文章。这不是4月又出了更文活动,逼自己一把,坚持每天做点内容输出,养成写作习惯,将来你会回来感谢曾经的自己坚持了一把才有此刻的辉煌成就。

         小伙伴们在批阅文章的过程中如果觉得文章对您有一丝丝帮助,还请别吝啬您手里的赞呀,大胆的把文章点亮👍吧,您的点赞三连(收藏⭐️+关注👨‍🎓+留言📃)就是对bug菌我创作道路上最好的鼓励与支持😘。时光不弃🏃🏻‍♀️,掘金不停💕,加油☘️​

二、版本说明🔥

环境:spring3.0 + mybatis 3.3 + spring-mybatis-1.3.0 + jsp

三、事故发生缘由🔥

       事情的经过很奇妙,我之前不是在带着技术组赶项目嘛,然后不知道老大在哪里接手了一个老旧项目,说当时开发结束了一直扔着就没有下文,现在要求我把这个项目给成功运行,且部署到服务器。我看到这条消息,我心想,几年前的项目,要还是使用的是不分离且页面使用jsp写的我就真奔溃了。

      老大接着发给了我项目,我打开一看目录结构,我深深陷入了沉思。果然被我猜对了,还真是spring + mybatis + jsp。传统的ssm框架写的。

       我先是将sql源文件导入进数据库,还好,mysql用的是5.6版本下的,顺利执行成功。看到这不规范的表结构设计,我有点堪忧!这还是能项目吗?写的这么这么不规范。

       我看了下pom依赖配置,导入的是真的多,项目依赖陆续下载完成后,我运行application启动类。不用想,必报错。

       还真是,那只能怎么办?耽误点时间看看报啥错呗,然后解决,总要先把项目运行不报错先,至于要迭代还是咋就不关我的事了。

四、排错分析🔥

控制台关键是爆了这么一段错:

java.lang.NoClassDefFoundError: org/apache/ibatis/annotations/Mapper...

       看到这段错,我回忆回忆,好像还真没有遇到过,那我得瞅瞅,代码中是否有报错的地方,没有,那我只能科学上网,查看下是否有相关解决方案,试了前三个解决方案,说是将@Mapper注解改成@MapperScan,就能解决,没有用。

       最后,原来问题出在这里。这项目中用的spring 3.0 + spring-mybatis-1.3.0 + mybtis 3.3。好家伙,用的还是这种组合版本,版本之间冲突而已。

       所以解决办法就是找一组兼容版本替换当前两jar依赖版本即可。

控制台错误:打印截图:

五、解决方案🔥

更新使用的mybatis的版本为3.4.0版本以上即可!如下:

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
            <scope>compile</scope>
        </dependency>

       升级 mybatis版本后,我们再来重启项目,ok!大功告成。

       想说句题外话,项目我是成功运行起来了,但是不敢保证里头的业务逻辑是否不会报错,这我也不知道,要是遇到逻辑报错,那更是头秃,我给老大回报完,我成功运行,也能正常登陆系统,结果来一句,带几个伙伴,把这个项目熟悉一下,熟悉一下?不是吧!我是真心不想看啊,写成这样。给你们举个例子啊,Controller是逻辑从头写到尾,基本不封装接口层与实现层,一个Controller接口几百行代码。艾玛...

       家人们,如果是你们被安排,你们会接手并进行代码熟悉吗?

​... ...

       ok,以上这样就好啦,如果还想学习更多,你可以看看我的往期热文推荐哦,每天积累一个奇淫小知识,日积月累下去,你一定能成为令人敬仰的大佬的。好啦,咱们下期见~

六、往期推荐🔥

七、文末🔥

       如果还想要学习更多,小伙伴们可关注bug菌专门为大家创建的专栏《SpringBoot零基础入门》,从无到有,从零到一!希望能帮到大家。

       我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!

最后送大家两句我很喜欢的话,与诸君共勉!

**************************************************

☘️做你想做的人,没有时间限制,只要愿意,什么时候都可以start,

🍀你能从现在开始改变,也可以一成不变,这件事,没有规矩可言,你可以活出最精彩的自己。

**************************************************

💌如果文章对您有所帮助,就请留下您的吧!(#^.^#);

💝如果喜欢bug菌分享的文章,就请给bug菌点个关注吧!(๑′ᴗ‵๑)づ╭❤~;

💗如果对文章有任何疑问,还请文末留言或者加群吧【QQ交流群:708072830】;

💞鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复参与讨论(请勿发表攻击言论,谢谢);

💕版权声明:原创不易,转载请附上原文出处链接和本文声明,版权所有,盗版必究!!!谢谢。