2015-11-08 38 views
0

我試圖開始使用Quartz。我試圖做一個簡單的示例應用程序,但我得到這個錯誤:java.lang.IncompatibleClassChangeError 我希望有人可以幫助我解決這個請! 所以,這是我的代碼:java.lang.IncompatibleClassChangeError嘗試使用Quartz和Spring

InvokingTask.java:

import java.util.Date; 

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

public class InvokingTask implements Job { 

    public void execute(JobExecutionContext jec) throws JobExecutionException { 

     System.out.println("test --- "+new Date()); 
     //Aca pueden poner la tarea o el job que desean automatizar 
     //Por ejemplo enviar correo, revisar ciertos datos, etc 
    } 

} 

Scheduling.java:

import org.quartz.CronScheduleBuilder; 
import org.quartz.JobBuilder; 
import org.quartz.JobDetail; 
import org.quartz.Scheduler; 
import org.quartz.SchedulerException; 
import org.quartz.SchedulerFactory; 
import org.quartz.Trigger; 
import org.quartz.TriggerBuilder; 
import org.quartz.impl.StdSchedulerFactory; 

public class Scheduling { 

    private Scheduler horario; 

    private void crearProgramacio() { 

     try { 

      SchedulerFactory factoria = new StdSchedulerFactory(); 
      horario = factoria.getScheduler(); 
      horario.start(); 

     } catch (Exception ex) { 
      System.out.println(ex.getMessage()); 
     } 

    } 

    public void iniciarTarea() { 

     if (this.horario == null) { 
      this.crearProgramacio(); 
     } 

     try { 

      JobDetail job1 = JobBuilder.newJob(InvokingTask.class).withIdentity("job1", "group1").build(); 
      Trigger trigger1 = TriggerBuilder.newTrigger().withIdentity("cronTrigger1", "group1") 
        .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")).build(); 

      Scheduler scheduler1 = new StdSchedulerFactory().getScheduler(); 
      scheduler1.start(); 
      scheduler1.scheduleJob(job1, trigger1); 


     } catch (SchedulerException ex) { 
      System.out.println(ex.getMessage()); 
     } 
    } 

} 

Test.java:

public class Test { 

    public static void main(String[] args) { 

     Scheduling test = new Scheduling(); 
     test.iniciarTarea(); 
    } 
} 

這是我的錯誤'm getting:

Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$100(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at com.motorbox.logic.Scheduling.iniciarTarea(Scheduling.java:41) 
    at com.motorbox.logic.Test.main(Test.java:16) 

請問,有什麼建議嗎?

回答

0

我剛剛意識到我正在使用一箇舊的librery。我更新了它,現在它正在工作!

+0

一個公開的圖書館?你介意分享這些信息嗎?我與Quartz有同樣的錯誤,我也迫不及待地解決它:-) – JavaJigs

相關問題