2016-08-29 30 views
1

我正在測試一個helloworld石英工作。我複製了一個現有的作業並將其粘貼到grails-app/jobs文件夾中。我將它命名爲TestJob.groovy。我只是用一條println消息讓它每分鐘發一次。我在cron表達中犯了一個錯誤。我刪除了這個作業並重新啓動了應用程序,並收到以下錯誤消息。奇怪的是看起來像文件仍然存在,因爲錯誤提到的錯誤是在文件TestJob.groovy,但我已經刪除了這個文件。我試圖清理項目並重建它,但仍然出現錯誤。我感謝任何幫助解決這個錯誤,並正常重新啓動應用程序。謝謝!石英作業即使在刪除後也存在?

| Loading Grails 2.2.0 
    | Configuring classpath. 
    | Environment set to development..... 
    | Packaging Grails application..... 
    | Compiling 1 source files..... 
    | Running Grails application 
    ERROR context.ContextLoader: Context initialization failed 
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to locate constructor with Class parameter for class grails.plugins.quartz.DefaultGrailsJobClass 
     at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
     at java.lang.Thread.run(Thread.java:745) 
    Caused by: java.lang.RuntimeException: Unable to locate constructor with Class parameter for class grails.plugins.quartz.DefaultGrailsJobClass 
     ... 4 more 
    Caused by: java.lang.reflect.InvocationTargetException 
     ... 4 more 
    Caused by: java.lang.IllegalArgumentException: Cron expression '0 * * * * *' in the job class com.runnercard.RemoveUserCodeJob is not a valid cron expression 
     at grails.plugins.quartz.config.TriggersConfigBuilder$_prepareCronTriggerAttributes_closure5.doCall(TriggersConfigBuilder.groovy:204) 
     at grails.plugins.quartz.config.TriggersConfigBuilder$_closure1.doCall(TriggersConfigBuilder.groovy:216) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.prepareCronTriggerAttributes(TriggersConfigBuilder.groovy:198) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.createTrigger(TriggersConfigBuilder.groovy:78) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.createNode(TriggersConfigBuilder.groovy:251) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.createNode(TriggersConfigBuilder.groovy:244) 
     at com.runnercard.RemoveUserCodeJob$__clinit__closure1.doCall(TestJob.groovy:14) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.build(TriggersConfigBuilder.groovy:51) 
     at grails.plugins.quartz.DefaultGrailsJobClass.evaluateTriggers(DefaultGrailsJobClass.java:57) 
     at grails.plugins.quartz.DefaultGrailsJobClass.<init>(DefaultGrailsJobClass.java:47) 
     ... 4 more 
    ERROR context.GrailsContextLoader: Error initializing the application: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to locate constructor with Class parameter for class grails.plugins.quartz.DefaultGrailsJobClass 
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to locate constructor with Class parameter for class grails.plugins.quartz.DefaultGrailsJobClass 
     at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
     at java.lang.Thread.run(Thread.java:745) 
    Caused by: java.lang.RuntimeException: Unable to locate constructor with Class parameter for class grails.plugins.quartz.DefaultGrailsJobClass 
     ... 4 more 
    Caused by: java.lang.reflect.InvocationTargetException 
     ... 4 more 
    Caused by: java.lang.IllegalArgumentException: Cron expression '0 * * * * *' in the job class com.runnercard.RemoveUserCodeJob is not a valid cron expression 
     at grails.plugins.quartz.config.TriggersConfigBuilder$_prepareCronTriggerAttributes_closure5.doCall(TriggersConfigBuilder.groovy:204) 
     at grails.plugins.quartz.config.TriggersConfigBuilder$_closure1.doCall(TriggersConfigBuilder.groovy:216) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.prepareCronTriggerAttributes(TriggersConfigBuilder.groovy:198) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.createTrigger(TriggersConfigBuilder.groovy:78) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.createNode(TriggersConfigBuilder.groovy:251) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.createNode(TriggersConfigBuilder.groovy:244) 
     at com.runnercard.RemoveUserCodeJob$__clinit__closure1.doCall(TestJob.groovy:14) 
     at grails.plugins.quartz.config.TriggersConfigBuilder.build(TriggersConfigBuilder.groovy:51) 
     at grails.plugins.quartz.DefaultGrailsJobClass.evaluateTriggers(DefaultGrailsJobClass.java:57) 
     at grails.plugins.quartz.DefaultGrailsJobClass.<init>(DefaultGrailsJobClass.java:47) 
     ... 4 more 
+1

java.lang.IllegalArgumentException:作業類中的Cron表達式'0 * * * * *'com.runnercard.RemoveUserCodeJob不是有效的cron表達式 – Vahid

+0

顯示代碼。顯然,問題在於它。 –

回答

0

做一個grails乾淨清理.slcache做到了。也許緩存是罪魁禍首。