当前使用版本(必填,否则不予处理)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
springboot 版本 2.1.0.RELEASE
nested exception is java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory 搜索这行关键字,一堆讨论这个问题的,已经有很久的讨论了,
该问题是如何引起的?(确定最新版也有问题再提!!!)
这个问题网上讨论已经有很多了,但是都没有解决问题。 https://blog.csdn.net/yang5726685/article/details/108979868 https://www.codeleading.com/article/16813039403/ https://blog.csdn.net/MacWx/article/details/98656594 https://gitee.com/baomidou/mybatis-plus/issues/ITB8U 这个问题建议mybatis-plus官方提供一个标准依赖配置demo做参考,以及跟mybatis官方包存在的问题注意点。
重现步骤(如果有就写完整)
引入包,更新依赖,启动就会报错。
报错信息
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:625)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:605)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1288)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1127)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:273)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1239)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1166)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1467)
... 55 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:620)
... 68 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory
at com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.
本地LoggerFactory相关的包
Comment From: miemieYaho
https://github.com/mybatis/spring/blob/master/src/main/java/org/mybatis/logging/LoggerFactory.java
Comment From: yinqifang
使用 mvn dependency:tree 查看下最终依赖的mybatis-spring是否被降了版本,3.4.2版本的mybatis-plus引入的应该是2.0.5版本的mybaits-spring。
我在项目中也遇到这个问题,确认下来是父工程中也引入了mybatis-plus导致版本被降低,手动添加依赖后问题解决了,供参考。
Comment From: PrisonerAZ
使用 mvn dependency:tree 查看下最终依赖的mybatis-spring是否被降了版本,3.4.2版本的mybatis-plus引入的应该是2.0.5版本的mybaits-spring。 我在项目中也遇到这个问题,确认下来是父工程中也引入了mybatis-plus导致版本被降低,手动添加依赖后问题解决了,供参考。
org.mybatis> mybatis-spring 2.0.5
这个管用,我的项目是老项目spring mvc的。所以改mybatis-spring的版本就行了。感谢!!!!!