java.lang.NoClassDefFoundError: Could not initialize class org.springframework.beans.factory.BeanCreationException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:226)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:709)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:534)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1234)
at com.yuantu.doct.web.DoctApplication.main(DoctApplication.java:20)
以上是项目启动的报错情况。
事情起源于一次部署,一个新的分支在本地是可以启动的,但是在有一台测试服务器不能,在其他的正常。
本来认为是服务器的问题,但是换了一个分支就发现可以了。
本能地去比较了两个分支的差异,但是改动的东西很少,除了加了几个对象,改了一点配置文件之外没有别的东西动了,但是也是一些很基础的配置,引入了新的包,或者加了dubbo接口。
把这些多余的东西删除之后发现还是不行,后来查到是jvm启动的参数有问题
测试服务器的是
-Xmx1024m -Xms1024m -Xmn256m -Xss256k
后来改成
-Xmx1024m -Xms1024m -Xmn256m -Xss512k
就可以了
这个参数配置不是觉得的,-Xss我在自己电脑设置成256也不会出现测试服务器的情况,设到200以下是会的。
问题就是多了几个类,导致加载启动的时候,线程栈不够,设置大一点就可以了