quartz 2.1.7在ant项目中给出NoClassDefFoundError

时间:2014-12-26 10:31:53

标签: ant log4j quartz-scheduler

我们在我们的ant项目中使用quartz,对于日志记录,我们使用log4j。

现在我们仍在使用石英1.5.2,没有问题。现在我们要将它升级到quartz 2.1.7。

当我们用quartz-all-2.1.7.jar文件替换我们的quartz-all-1.5.2.jar,并启动该服务时,我们收到以下错误

[QuartzService] Create QuartzService(Quartz)...

WARN  [ServiceController] Problem creating service user:service=QuartzService,name=Quartz
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
       at org.quartz.impl.StdSchedulerFactory.<init>(StdSchedulerFactory.java:261)
       at org.quartz.ee.jmx.jboss.QuartzService.createService(QuartzService.java:220)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:260)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:243)
       [...]

我们尝试过石英1.6.6和1.7.3,我们没有遇到任何问题。但是从1.8.4起,我们得到了上述错误

现在的问题是,我们没有使用slf4j进行日志记录。所以,

  1. 无论如何只使用石英2.1.7和log4j吗?
  2. 如果我们需要使用slf4j,我们可以以某种方式将日志重定向到log4j吗?
  3. 我们可以在蚂蚁中做到吗?
  4. 该项目是蚂蚁项目,而不是maven项目。

1 个答案:

答案 0 :(得分:1)

Quartz 2.1.7使用log4j和slf4j,所以我认为你需要slf4j 1.6.1(api,slf4j-log4j12)

查看version 1.5.2version 2.1.7的依赖关系。