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

相关文章:

  • 2021-07-01
  • 2022-12-23
  • 2022-12-23
  • 2021-12-22
  • 2021-05-17
  • 2021-04-01
  • 2021-09-05
猜你喜欢
  • 2021-04-22
  • 2022-01-19
  • 2021-07-29
  • 2022-01-22
  • 2022-12-23
  • 2021-11-24
  • 2021-11-06
相关资源
相似解决方案