Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获得;无法从TriggerBuilder转换<;触发器>;触发;在运行简单的Quratz教程程序时_Java_Scheduled Tasks_Quartz Scheduler_Crontrigger - Fatal编程技术网

Java 获得;无法从TriggerBuilder转换<;触发器>;触发;在运行简单的Quratz教程程序时

Java 获得;无法从TriggerBuilder转换<;触发器>;触发;在运行简单的Quratz教程程序时,java,scheduled-tasks,quartz-scheduler,crontrigger,Java,Scheduled Tasks,Quartz Scheduler,Crontrigger,我不熟悉JavaQuartz调度,一直在尝试从youtube教程运行一个简单的Quartz程序 这是我尝试的代码: public class drive1 { public static void main(String[] args) throws SchedulerException { JobDetail jobDetail = JobBuilder.newJob(Job.class).build(); Trig

我不熟悉JavaQuartz调度,一直在尝试从youtube教程运行一个简单的Quartz程序

这是我尝试的代码:

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行给我带来编译错误:
类型不匹配:无法从TriggerBuilder转换为触发器

所以我在第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)
谁能帮我一下吗。
我知道这是一个没有问题的问题,但我对这是一个新手。

我相信你需要“构建”触发器。所以你需要改变

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


太棒了,这似乎解决了问题……但有任何线索说明原因。startNow();正如我所看到的,“.startNow();”还返回“TriggerBuilder”,它再次扩展触发器?TriggerBuilder不扩展触发器本身,它是生成扩展触发器的对象的泛型类型。
Trigger trigger =  TriggerBuilder.newTrigger().withIdentity("SimpleTrigger").startNow().build();