出现Caused by: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set;
的错误。是因为我们使用的commons-collections.jar版本太低导致的要使用3.*的才行。
如果你用的MyEclipse,如果导入了commons-collections.jar 3.*的包还不行的话,而且没有找到其他的包的话很可能是MyEclipse自带的Liberary中包括了版本低的包而你导入了这个lib。
比如MyEclipse的Hibernate的Lib中包括commons-collections.jar但是版本是2.*。
Window->Preferences->Myeclipse->Project Capabilities->Hibernate
从lib中删除此包即可。(注:此时有三个选项卡hibernate2,hibernate3,hibernate3.1。),用的哪个版本选哪个。下面有commons-collections.jar包。把它删了。如果还不行。看看你的tomcat发布工程的classpath下是否有commons-collections.jar包。我当时就出现类似情况。浪费了我一个多小时。还好搞定了。
<!-- 定时任务配置开始 -->
<!-- 定义调用对象和调用对象的方法 -->
<bean id="accountTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用类 -->
<property name="targetObject">
<ref bean="accountCheckJob"/>
</property>
<!-- 调用类中的执行方法 -->
<property name="targetMethod">
<value>work</value>
</property>
</bean>
<!-- 定时触发时间 -->
<bean id="accountTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="accountTask"/>
</property>
<!-- cron表达式 -->
<property name="cronExpression">
<value>10,15,20,25,30,35,40,45,50,55 * * * * ?</value>
</property>
</bean>