一般的spring启动报错,可以分为两类:
- 严重的直接报错。例如:注入的bean类型不存在,或者配置不存在等。这类错误非常的直接和暴力,直接就会报错停止app启动,比较容易排查。
- 间接的运行时报错。例如:各种Aware和生命周期接口,如果Bean在实现的过程中,有没有try住的问题,那么也会导致main线程中启动的Spring应用直接退出。
针对这两种情况,分别提供两种快速的排错方法,使用grep 或者 powershell的过滤函数快速进行过滤。主要是判断 APPLICATION FAILED TO START的文案错误,或者 Application run failed 的文案错误。
例如:
grep -A 40 "APPLICATION FAILED TO START" spring_start_fail.txt
grep -A 40 "Application run failed" spring_start_fail.txt
不管是windows还是linux,这里有一种命令生成方法: 快速查找Spring报错
方便快速从日志定位错误,可以兼容Linux和Windows两种平台。