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の
インターフェイス/クラスを直接。
-
最後に、他に何がありますか?バグが修正されるのを待ってください.