Получение "невозможно конвертировать из TriggerBuilder <Trigger>в Trigger" при запуске простой учебной программы Quratz - PullRequest
1 голос
/ 05 июня 2019

Я новичок в планировании Java Quartz и пытаюсь запустить простую кварцевую программу из учебника YouTube.

Это код, который я пробовал:

public class drive1 {
    public static void main(String[] args) throws SchedulerException {              
        JobDetail jobDetail = JobBuilder.newJob(Job.class).build();     
        Trigger trigger =  TriggerBuilder.newTrigger().withIdentity("SimpleTrigger").startNow();        
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();        
        scheduler.start();      
        scheduler.scheduleJob(jobDetail, trigger);      
    }
}

Это продолжаетсявыдача мне ошибки компиляции в строке 4: Type mismatch: cannot convert from TriggerBuilder<Trigger> to Trigger

Итак, я попытался явным образом привести тип в строку 4: Trigger trigger = (Trigger)TriggerBuilder.newTrigger().withIdentity("SimpleTrigger").startNow();

Это устранило ошибку компиляции, но теперь я получаю исключение времени выполнения:

Exception in thread "main" java.lang.ClassCastException: org.quartz.TriggerBuilder cannot be cast to org.quartz.Trigger
    at sd.moc.drive1.main(drive1.java:18)

Может кто-нибудь, пожалуйста, помогите мне.Я знаю, что это нубский вопрос, но я новичок в этом.

1 Ответ

1 голос
/ 05 июня 2019

Полагаю, вам нужно «построить» курок.Таким образом, вам нужно изменить

Trigger trigger =  TriggerBuilder.newTrigger().withIdentity("SimpleTrigger").startNow();

на

Trigger trigger =  TriggerBuilder.newTrigger().withIdentity("SimpleTrigger").startNow().build();
...