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

Add to the class path the library containing the SetUtils class.
You can find it here.

于 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 に答える