Exception in thread "scheduler_Worker-2" java.lang.NoClassDefFoundError: org/apache/log4j/spi/ThrowableInformation
at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:165)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.slf4j.impl.Log4jLoggerAdapter.error(Log4jLoggerAdapter.java:576)
at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:165)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.slf4j.impl.Log4jLoggerAdapter.error(Log4jLoggerAdapter.java:576)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:585)
针对此问题我相信很多人都遇到了,经过多方面查阅资料是jar兼容性问题造成的,我用的quartz是2.2.1的所以对应的log4j,slf4j-api,slf4j-log4j的版本也必须对应上兼容版本
针对jar兼容性的问题可以看maven里面的jar结构一幕了然
如我用log4j 1.2.16当quartz运行超过20个小时左右就回出现上面的异常,并且quartz就回停掉。