第一个简单命名:Cannot convert value of type X to required type Y for property Z.
下面把抛出的异常的一部分信息帖出来,给大家。
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'startQuertz' defined in class path resource
[spring/quartz-configuration-job.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException:
Failed to convert property value of type [java.util.ArrayList] to required type [org.quartz.Trigger[]] for property 'triggers';
nested exception is java.lang.IllegalArgumentException:
Cannot convert value of type [com.project.task.multithreading.TaskMultiThread] to required type [org.quartz.Trigger] for property 'triggers[0]':
no matching editors or conversion strategy found
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
首先,看到这个异常,是Spring创建一个startQuertz的bean时出错。
那我就把这段配置贴出来,共大家看看(这是一个错误的配置)
<bean id="taskMultiThreadJob" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="taskMultiThreadTask" />
</property>
<property name="cronExpression">
<value>0/59 * * * * ?</value>
</property>
</bean>
<!-- JOB end -->
<bean id="startQuertz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="taskMultiThreadTask" />
</list>
</property>
</bean>
其次:这个bean的属性是org.quartz.Trigger[],而我给的数组,这不是主要原因,再往下看
再次:error提示想要TaskMultiThread这个类转化成Trigger这个类出错,真正原因
最后:来看这个配置,在这个list里,我的确配成TaskMultiThread这个类了,应该改成taskMultiThreadJob这个bean
完美解决。
第二个简单命名:Unable to load configuration ... /struts.xml:74:48
2013-8-13 14:17:18 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load configuration. - interceptor-ref - file:/D:/workspace/project/project-web/target/classes/struts.xml:74:48
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:502)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
这个错误,其实还蛮经常遇到的,不过这个也是最好解决的,提示信息很清楚的告诉了您,是struts文件的那一行的第几个字符了。
去看一下这个地方,你配了什么,或者遗漏了什么,不过有些时候,不管你怎么看,都没有错。那我只能告诉你,这个工程你还是重新构建一下吧
解决问题的思路,有时候,从错误的信息里,也能看出来。有时候在你没有见过的错误面前,还需要通过互联网的搜索来找到问题。