IncompatibleClassChangeError:JobDetailBeanはスーパークラスとしてorg.quartz.JobDetailインターフェースを持っています
Caused by: java.lang.IncompatibleClassChangeError:
class org.springframework.scheduling.quartz.JobDetailBean has interface org.quartz.JobDetail as super class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2901)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1170)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
... 19 more
解決策
クォーツ2のAPIは大きく変更されており、Spring JIRAでは既に誰かがhttps://jira.springsource.org/browse/SPR-8581[bug report]を埋めています。現時点では、「
Spring 3はQuartz 2
とは互換性がありません。
3つの選択肢があります:
-
Quartz 1.8.5を使用すると、Spring 3はQuartz 1.xと大きく統合され、
クラシックで安定しています。
-
統合のためにSpringの `QuartzJobBean`を使用せず、Quartzの
インターフェイス/クラスを直接。
-
最後に、他に何がありますか?バグが修正されるのを待ってください.