1.场景描述
我们遇到这样的情况,发版后,发现执行器都起来了,但是作业都没执行,点立即执行并没用。
查看服务器日志会发现,我们的项目并没初始化成功,为什么会初始化失败呢?
2.故障现象
执行器都是启动成功的
作业立即执行无效,查看日志有如下报错 :
saturn-executor-log.log
saturn-executor-error.log
再看看 saturn-nohup.out
这样,问题就很明显了
3.问题分析
两个jar包共存,导致了堆栈溢出。
详细分析参考:https://blog.csdn.net/kxcfzyk/article/details/38613861
本地为什么可以跑?
查看本地的 Maven Dependencies 可以找到 log4j-over-slf4j.jar 和 slf4j-log4j12.jar,那这样不是也会造成异常吗?
再仔细观察发现,本地的 Maven Dependencies 中,上面两个包一个是编译到classpath下面了,另一个是没有的。
出现这种情况的时候,我们可以查看下,是不是项目中引入了新的jar包,或者合并版本的时候,是不是有这些jar包进来了。
4.解决方案
将项目中的pom文件的 slf4j-log4j12.jar 排除掉。