我在哪里可以找到quartz-all-2.2.1.jar文件

时间:2015-01-05 02:49:22

标签: java exception jar quartz-scheduler

我正在开发执行石英作业的代码。当我在我的本地tomcat上执行此代码时,它工作正常,但是当我尝试在Web应用程序中执行相同的代码时,我得到java.lang.NoClassDefFoundError:org / quartz / DisallowConcurrentExecution。我使用的是石英2.2.1,它已经在类路径中了。这是堆栈跟踪:

java.lang.IllegalStateException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1600)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at org.quartz.impl.JobDetailImpl.isConcurrentExectionDisallowed(JobDetailImpl.java:388)
    at org.quartz.simpl.RAMJobStore.acquireNextTriggers(RAMJobStore.java:1428)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:272)

Exception in thread "DefaultQuartzScheduler_QuartzSchedulerThread" java.lang.NoClassDefFoundError: org/quartz/DisallowConcurrentExecution
    at org.quartz.impl.JobDetailImpl.isConcurrentExectionDisallowed(JobDetailImpl.java:388)
    at org.quartz.simpl.RAMJobStore.acquireNextTriggers(RAMJobStore.java:1428)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:272)
Caused by: java.lang.ClassNotFoundException: org.quartz.DisallowConcurrentExecution
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    ... 3 more

我已经读过,我应该检查一下我的类路径中是否有multiply quartz-all-xxx.jar,除了quartz-ver.jar之外我应该使用quartz-all-xxx.jar。

Quartz文档:

  

Quartz包中包含许多jar文件,位于发行版的根目录中。主Quartz库名为quartz-all-xxx.jar(其中xxx是版本号)。为了使用Quartz的任何功能,这个jar必须位于应用程序的类路径中。

我无法在石英包中找到这个quartz-all-xxx.jar,我也试图将其作为单个文件找到。有没有人知道下载链接或是否可能被删除?

提前致谢。

1 个答案:

答案 0 :(得分:1)

对于Quart版本2.2.1,您没有quartz-all-xxx.jar。请参阅下文

Maven工件在新版本发布后的几个小时内就可以在Maven中央存储库中找到。

从版本2.2.0开始,所有Quartz库都包含在quartz-xxx.jar文件中(其中xxx是版本号),除了开箱即用的作业, quartz-jobs-xxx.jar文件。

组ID是:org.quartz-scheduler。在下面的依赖关系片段中替换您要使用的版本号(例如,“2.2.0”)。

http://quartz-scheduler.org/downloads

另请参阅maven的pom.xml