Mike Croteau
Mike Croteau

Reputation: 1132

Grails Quartz Plugin error when running in stand-alone tomcat instance

I am working on a grails project that leverages the quartz plugin. The plugin works as expected without issue running the project locally in development mode. However, I am getting the following error when running the project in a stand-alone instance of tomcat.

Error initializing Grails: 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.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Unable to locate constructor with Class parameter for class grails.plugins.quartz.DefaultGrailsJobClass
    ... 1 more
Caused by: java.lang.reflect.InvocationTargetException
    ... 1 more
Caused by: java.lang.IncompatibleClassChangeError: Implementing class
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    at grails.plugins.quartz.config.TriggersConfigBuilder.createTrigger(TriggersConfigBuilder.groovy:77)
    at grails.plugins.quartz.config.TriggersConfigBuilder.createNode(TriggersConfigBuilder.groovy:251)
    at grails.plugins.quartz.config.TriggersConfigBuilder.createNode(TriggersConfigBuilder.groovy:244)
    at org.motus.CompetitionJob$__clinit__closure10.doCall(CompetitionJob.groovy:18)
    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)
    ... 1 more

Here is what I have in the BuildConfig.groovy

compile ":quartz:1.0.1"

Any ideas or direction on how to remedy would be most appreciated. Thanks in advance for your help.

Upvotes: 2

Views: 1746

Answers (1)

Mike Croteau
Mike Croteau

Reputation: 1132

I am also using the Apache Shiro plugin, which turns out had a quartz dependency that needed to be excluded. Thanks Lalit for the link

compile ":quartz:1.0.1"
compile (":shiro:1.2.1"){
    excludes "quartz"
}

Upvotes: 3

Related Questions