我们有一个tomcat应用程序,它有一个运行在3.0.0上的spring容器。升级到4.1.7版本,并适当修改某些类。我们修改过的一个bean使用了CronTriggerBean。这被改为使用CronTriggerFactoryBean,并且还升级到org.quartz-scheduler到2.2.1。在部署和启动tomcat时,遇到以下异常。
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'appsecScheduler' defined in class path resource [application-
context.xml]: Initialization of bean failed; nested exception is
java.lang.IncompatibleClassChangeError: Implementing class at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean
(AbstractAutowireCapableBeanFactory.java:547)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
附加一个调试器,发现有问题的类是CronTriggerFactoryBean。但是,只有在Windows环境中部署时才会出现此问题。当在Ubuntu中部署相同的战争时,应用程序启动时没有任何错误。为了记录,我做了一个依赖:树,依赖:build-classpath并确保3.0.0 spring没有被使用。 CronTriggerFactoryBean是spring-context-support的一部分。 有关如何进一步调试或确定正在使用哪个jar的任何建议?