spring boot 启动报错 java.lang.NoClassDefFoundError: org/apache/ibatis/session/SqlSession

本文记录了一次在SpringBoot项目中集成MyBatis时遇到的问题,主要表现为应用程序启动失败,错误信息显示找不到SqlSession类。问题根源在于MyBatis相关依赖缺失,导致无法正确初始化MyBatis组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018-11-29 11:03:42.418  INFO 29772 --- [           main] io.renren.AdminApplication               : Starting AdminApplication on DESKTOP-PCEJCG3 with PID 29772 (E:\gitworkspace\renren-security\renren-admin\target\classes started by Administrator in E:\gitworkspace\renren-security\renren-admin)
2018-11-29 11:03:42.422  INFO 29772 --- [           main] io.renren.AdminApplication               : The following profiles are active: dev
2018-11-29 11:03:42.494  INFO 29772 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@673be18f: startup date [Thu Nov 29 11:03:42 CST 2018]; root of context hierarchy
2018-11-29 11:03:43.666 ERROR 29772 --- [           main] o.s.boot.SpringApplication               : Application run failed

java.lang.NoClassDefFoundError: org/apache/ibatis/session/SqlSession
    at org.mybatis.spring.mapper.ClassPathMapperScanner.<init>(ClassPathMapperScanner.java:72)
    at org.mybatis.spring.annotation.MapperScannerRegistrar.registerBeanDefinitions(MapperScannerRegistrar.java:59)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:358)
    at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:357)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:145)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:117)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:328)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:271)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:91)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:780)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:333)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1277)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1265)
    at io.renren.AdminApplication.main(AdminApplication.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 20 common frames omitted

2018-11-29 11:03:43.668  INFO 29772 --- [           main] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@673be18f: startup date [Thu Nov 29 11:03:42 CST 2018]; root of context hierarchy
2018-11-29 11:03:43.671  WARN 29772 --- [           main] o.s.boot.SpringApplication               : Unable to close ApplicationContext

java.lang.IllegalStateException: Failed to introspect Class [io.renren.common.config.MybatisPlusConfig] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:659)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:556)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:541)
    at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:599)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:718)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:659)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:627)
    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1489)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:419)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:389)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:510)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:502)
    at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1198)
    at org.springframework.boot.SpringApplication.getExitCodeFromMappedException(SpringApplication.java:910)
    at org.springframework.boot.SpringApplication.getExitCodeFromException(SpringApplication.java:896)
    at org.springframework.boot.SpringApplication.handleExitCode(SpringApplication.java:882)
    at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:831)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:344)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1277)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1265)
    at io.renren.AdminApplication.main(AdminApplication.java:15)
Caused by: java.lang.NoClassDefFoundError: org/apache/ibatis/plugin/Interceptor
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.getDeclaredMethods(Class.java:1975)
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:641)
    ... 20 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.plugin.Interceptor
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 36 common frames omitted

 

引用中的异常信息表明,在启动Spring Boot应用程序时出现了java.lang.NoClassDefFoundError: org/apache/catalina/Context错误。这个错误通常表示应用程序无法找到org/apache/catalina/Context类。该类是Apache Tomcat服务器的一部分,它提供了与Web应用程序的上下文相关的功能。因此,它的缺失可能导致Spring Boot应用程序无法正确启动。 引用和提供了一些可能导致此错误的原因。一种可能性是由于缺少正确的jar包或依赖项。在引用中,jar包被清空了,可能是由于maven的规则导致的。而引用中的pom文件中指定了本地引用的jar包路径。这些问题可能导致应用程序无法加载所需的类。 要解决这个问题,你可以尝试以下步骤: 1. 检查你的项目依赖项和构建配置是否正确。确保所有的jar包和依赖项都正确引入并存在于应用程序的类路径中。 2. 如果你使用maven进行构建,可以尝试清理和重新构建项目。这将确保所有的依赖项被正确下载和配置。 3. 确保你的应用程序的类路径中包含了Apache Tomcat相关的jar包。你可以检查你的构建配置文件(如pom.xml)中是否有相关依赖项,并且这些依赖项是否正确下载和配置。 4. 如果你使用的是本地引用的jar包,确保路径和配置正确无误,并检查jar包是否存在于指定的位置。 记住,这只是一些可能的解决方案之一。具体的解决方法可能因为你的项目配置和环境而有所不同。如果这些方法都没有解决问题,你可能需要进一步调查和排除其他可能的原因。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringMVC4.3.6配置json所需要的jar包](https://download.csdn.net/download/renxingwu2008/9765096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [IDEA启动tomcat报错java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext、...](https://blog.csdn.net/wuxun1997/article/details/115525915)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值