最近在springboot中集成kafka,然后启动的时候抛出异常
该如何定位问题?基本思路是用远程debug(也可以在本地启动)+ Java Exception Breakpoints
上图中,抛出了TypeNotPresentExceptionProxy的异常,把断点打到TypeNotPresentExceptionProxy的构造函数,可以截获到如下信息:
看的出来是因为PropertyPlaceholderAutoConfiguration这个类的缺失。知道了异常的原因,下一步就是定位在哪里抛出异常,通过Java Exception Breakpoints。
在java的debug视图中,添加Java Exception Breakpoints,指定具体异常是ArrayStoreException,如图:
然后启动springboot工程,等抛出ArrayStoreException异常前,就会定位到具体的代码,如下图
从异常信息可以看到发生异常的类是KafkaBinderConfiguration
可以看到KafkaBinderConfiguration引用的是springboot1.x版本的PropertyPlaceholderAutoConfiguration,包路径是
org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration,而我们项目用的springboot是2.x,这个类是在org.springframework.boot.autoconfigure.context下面。因为springboot在升级2.x版本后,改动了一些包路径,所以导致启动异常
定位springboot启动异常
最新推荐文章于 2022-06-09 14:42:12 发布