0

有人可以纠正我吗,我在网上找到了这个例子,还有很多其他的不起作用,这个特定的例子抛出了以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/SetUtils
    at org.quartz.JobDetail.<init>(JobDetail.java:85)
    at tralala.org.xml.CronSchedule.<init>(CronSchedule.java:13)
    at tralala.org.xml.CronSchedule.main(CronSchedule.java:20)

这是代码:

CronJob.java

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class CronJob implements Job {
  public void execute(JobExecutionContext arg0) throws JobExecutionException {
    System.out.println("PRINT SOME TEXT LINE");
  }
}

CronSchedule.java

import org.quartz.CronTrigger;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.JobDetail;

public class CronSchedule {
  public CronSchedule ()throws Exception {
    SchedulerFactory sf=new StdSchedulerFactory();
    Scheduler sched=sf.getScheduler();
    JobDetail jd=new JobDetail("job1","group1",CronJob.class);
    CronTrigger ct=new CronTrigger("cronTrigger","group2","0 0/1 * * * ?");
    sched.scheduleJob(jd,ct);
    sched.start();
  }
  public static void main(String args[]){
    try{    
        new CronSchedule();
    }catch(Exception e){}
  }
}

我只想运行(实际上可行)石英的任何示例。我已经搜索了一段时间,每个示例要么有编译错误,要么像这个(罕见的)一样抛出错误。我只是想运行这个或任何一个......只是为了通过一个具体的例子来了解一下。我一直在阅读http://www.opensymphony.com/quartz/wikidocs/TutorialLesson1.html,示例无法编译..有什么建议吗?tnx

4

4 回答 4

3

该错误仅表明您的类路径中没有 org.apache.commons.collections.SetUtils 类。所以你应该确保这一点。您可以从这里下载库。

然后解压下载文件。您应该会看到一个文件 commons-collections-3.2.1.jar。您只需将该文件放在您的类路径中。或使用选项“-cp commons-collections-3.2.1.jar”运行它。

于 2009-10-15T11:12:57.060 回答
2

将包含 SetUtils 类的库添加到类路径。
你可以在这里找到它。

于 2009-10-15T11:08:15.740 回答
1

您应该将commons-collections (v3.1) 添加到您的类路径中。它也捆绑在 Quartz 发行版中。

于 2009-10-15T11:12:04.647 回答
1

如果您从 Quartz 分发档案中捆绑的示例开始,可能会容易得多。它们位于examples子目录中,每个示例都有一个脚本来运行它(当然还有基于 ant 的编译脚本)。研究这些脚本以了解所有内容如何组合在一起。由于 Quartz 捆绑了所有需要的依赖项,您应该能够在不下载任何内容的情况下运行示例。

于 2009-10-15T11:22:50.583 回答