最近在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版本后,改动了一些包路径,所以导致启动异常

相关文章:

  • 2019-01-21
  • 2021-09-08
  • 2021-12-08
  • 2021-05-20
  • 2021-09-12
  • 2018-10-16
  • 2021-09-24
  • 2021-12-16
猜你喜欢
  • 2018-12-28
  • 2020-06-12
  • 2018-11-30
  • 2021-09-17
  • 2021-08-14
  • 2018-04-07
  • 2021-11-20
  • 2021-10-17
相关资源
相似解决方案