此bug的最大难题是,在debug启动时就没有问题了,在正常启动时就报错。
有些人有这个问题,有些同学运行就没有这个问题。
这可麻烦了。
朋友们以后可以以此为特征,诊断类似的问题。
Spring Mybatis 集成错误:
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.springframework.beans.factory.BeanCreationException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
问题分析:
NoClassDefFoundError ,意思是缺少了类。
Could not initialize class org.springframework.beans.factory.BeanCreationException ,更表明是缺少了类。
解决方法:
于是分析代码和配置,自动的手动的,都检查了。
还是找不到问题。
最终解决:
没有办法,只好动用了很多方法排查。
最终的问题是,mybatis-spring这个包有提示:bug。
<groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.0.0-RC2</version>
其拦截了exception但是提示并不友好。
但根本问题是,系统jvm的stack空间占满了,爆出了stackOverflow异常。
只好修改Stack Space的大小:启动参数加入:-Xss512k 参数来解决。
教训:
捕获异常,是非常危险的,如果不能处理的更好的话,抛出异常更好。
参考:
网上也有很多朋友有类似的问题,但通过其他方式解决了,可能不是同一个bug吧。
但本文还是解决了根本问题,而不是随便修改,跳过问题(虽然也是上等武功)。
http://blog.163.com/huangfei_person/blog/static/58156675201242634522971/
Mybatis + Spring 时出错 Context initialization failed java.lang.NoClassDefFoundError: Could not initialize class org.springframework.beans.factory.BeanCreationException
+
+
=
=
+
=
+
相关推荐
java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40 导致的原因: 在azkaban的server和executor中缺少一个叫derby.jar的包
该jar包解决报错java.lang.NoClassDefFoundError: org/apache/james/mime4j/MimeException,亲测可用。
springboot启动报错:java.lang.NoClassDefFoundError: org/springframework/transaction/ReactiveTransactionManager 不添加org.springframework.boot:spring-boot-starter-data-jpa:2.2.5.RELEASE,只有org....
在学java2的用户,不妨看看
JavaMail的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误 原因: MyEclipse6.5的javaee.jar中的mail包与JavaMail包有冲突。 解决: 在MyEclipse目录下(D:\Program Files\MyEclipse ...
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142) ... 38 more Caused by: java.lang.ClassNotFoundException: ...
nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: ...
整个系统都没有错误,但是在发布运行后,控制台上却抛出了这样的异常: java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
NULL 博文链接:https://lym6520.iteye.com/blog/310725
NULL 博文链接:https://lyndon-lin.iteye.com/blog/856002
NULL 博文链接:https://liuzidong.iteye.com/blog/711509
java.lang.NoClassDefFoundError: org/springframework/beans/factory/BeanNameAware 1 2 根据错误加入 spring-beans-4.x.x.RELEASE.jar 1 2 接着报错 java.lang.NoClassDefFoundError: org/springframework/...
java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport异常处理
主要介绍了Android 出现:Android出现:java.lang.NoClassDefFoundError: android/os/PersistableBundle错误解决办法的相关资料,需要的朋友可以参考下
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig at org.apache.hadoop.yarn.client.api.TimelineClient.createTimelineClient(TimelineClient.java:...
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed;...
jackson-annotations-2.10.2.jar jackson-core-2.10.2.jar jackson-databind-2.10.2.jar NoClassDefFoundError解决
微信订阅号加了一些不完整的网页开发进去了
NULL 博文链接:https://jaychang.iteye.com/blog/980159
NULL 博文链接:https://jyao.iteye.com/blog/1235905