问题描述
异常信息如下:一月05,20155:34:35下午org.apache.catalina.core.StandardContextlistenerStartSEVERE:Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'leaveService':Injectionofresourcedependenciesfailed;nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'myLocalTaskService'definedinclasspathresource[applicationContext.xml]:Cannotresolvereferencetobean'localTaskService'whilesettingbeanproperty'taskService';nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'localTaskService'definedinclasspathresource[applicationContext.xml]:Instantiationofbeanfailed;nestedexceptionisorg.springframework.beans.BeanInstantiationException:Couldnotinstantiatebeanclass[org.jbpm.task.service.local.LocalTaskService]:Constructorthrewexception;nestedexceptionisjava.lang.NullPointerExceptionatorg.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:306)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607)atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472)atorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:388)atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293)atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)atorg.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1247)atorg.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1897)atjava.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)atjava.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)atjava.util.concurrent.FutureTask.run(FutureTask.java:166)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)atjava.lang.Thread.run(Thread.java:724)Causedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'myLocalTaskService'definedinclasspathresource[applicationContext.xml]:Cannotresolvereferencetobean'localTaskService'whilesettingbeanproperty'taskService';nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'localTaskService'definedinclasspathresource[applicationContext.xml]:Instantiationofbeanfailed;nestedexceptionisorg.springframework.beans.BeanInstantiationException:Couldnotinstantiatebeanclass[org.jbpm.task.service.local.LocalTaskService]:Constructorthrewexception;nestedexceptionisjava.lang.NullPointerExceptionatorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)atorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)atorg.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:442)atorg.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:416)atorg.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:550)atorg.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:155)atorg.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:92)atorg.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:303)...27moreCausedby:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'localTaskService'definedinclasspathresource[applicationContext.xml]:Instantiationofbeanfailed;nestedexceptionisorg.springframework.beans.BeanInstantiationException:Couldnotinstantiatebeanclass[org.jbpm.task.service.local.LocalTaskService]:Constructorthrewexception;nestedexceptionisjava.lang.NullPointerExceptionatorg.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:288)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)atorg.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)...42moreCausedby:org.springframework.beans.BeanInstantiationException:Couldnotinstantiatebeanclass[org.jbpm.task.service.local.LocalTaskService]:Constructorthrewexception;nestedexceptionisjava.lang.NullPointerExceptionatorg.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:162)atorg.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:121)atorg.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280)...51moreCausedby:java.lang.NullPointerExceptionatorg.jbpm.task.service.TaskService.createSession(TaskService.java:203)atorg.jbpm.task.service.local.LocalTaskService.<init>(LocalTaskService.java:54)atsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)atjava.lang.reflect.Constructor.newInstance(Constructor.java:526)atorg.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)...53more
applicationContext.xml文件如下:哪位大哥帮忙看看是什么问题,为什么会出现空指针异常,这个是根据一个maven项目该了一下,基本配置都一样,只是在tomcat7中运行,同样的xml代码在maven项目中运行就没问题啊
解决方案
解决方案二:
spring配置文件如下:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:drools="http://drools.org/schema/drools-spring"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://drools.org/schema/drools-springhttp://drools.org/schema/drools-spring-1.3.0.xsd"><context:component-scanbase-package="com.ripin.base"/><context:component-scanbase-package="com.ripin.service"/><context:component-scanbase-package="com.ripin.dao"/><beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><propertyname="locations"value="classpath:jdbc.properties"/></bean><!--dataSource--><beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><propertyname="driverClassName"value="${jdbc.driver}"/><propertyname="url"value="${jdbc.url}"/><propertyname="username"value="${jdbc.username}"/><propertyname="password"value="${jdbc.password}"/></bean><!--hibernate配置--><beanid="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><propertyname="dataSource"ref="dataSource"/><propertyname="hibernateProperties"><props><propkey="hibernate.dialect">${hibernate.dialect}</prop><propkey="hibernate.show_sql">false</prop><propkey="hibernate.format_sql">false</prop><propkey="hibernate.hbm2ddl.auto">create</prop></props></property><propertyname="mappingLocations"><list><value>classpath:com/ripin/entity/User_.hbm.xml</value><value>classpath:com/ripin/entity/Leave_.hbm.xml</value></list></property></bean><beanid="transactionManager"class="org.springframework.orm.hibernate4.HibernateTransactionManager"><propertyname="sessionFactory"ref="sessionFactory"/></bean><tx:annotation-driventransaction-manager="transactionManager"proxy-target-class="true"/><!--JBPM5.4<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><propertyname="driverClassName"value="com.mysql.jdbc.Driver"/><propertyname="url"value="jdbc:mysql://127.0.0.1:3306/jbpm5_1?characterEncoding=UTF-8"/><propertyname="username"value="root"/><propertyname="password"value="root"/></bean>--><beanid="entityManagerFactory"class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"><propertyname="dataSource"ref="dataSource"/><propertyname="persistenceUnitName"value="org.jbpm.persistence.local"/></bean><beanid="jbpmTxManager"class="org.springframework.orm.jpa.JpaTransactionManager"><propertyname="entityManagerFactory"ref="entityManagerFactory"/><!--这里要是为false的话,提交事物的时候,容易报错--><propertyname="nestedTransactionAllowed"value="true"/></bean><!--提供知识存储实现<drools:grid-nodeid="node1"/><drools:kstoreid="kstore1"/>--><drools:kbaseid="kbase"><drools:resources><drools:resourcetype="BPMN2"source="classpath:leave.bpmn"/></drools:resources></drools:kbase><drools:ksessionid="ksession"type="stateful"kbase="kbase"><drools:configuration><drools:jpa-persistence><drools:transaction-managerref="jbpmTxManager"/><drools:entity-manager-factoryref="entityManagerFactory"/></drools:jpa-persistence></drools:configuration></drools:ksession><beanid="systemEventListener"class="org.drools.SystemEventListenerFactory"factory-method="getSystemEventListener"/><beanid="internalTaskService"class="org.jbpm.task.service.TaskService"><propertyname="systemEventListener"ref="systemEventListener"/></bean><beanid="htTxManager"class="org.drools.container.spring.beans.persistence.HumanTaskSpringTransactionManager"><constructor-argref="jbpmTxManager"/></bean><beanid="springTaskSessionFactory"class="org.jbpm.task.service.persistence.TaskSessionSpringFactoryImpl"init-method="initialize"depends-on="internalTaskService"><propertyname="entityManagerFactory"ref="entityManagerFactory"/><propertyname="transactionManager"ref="htTxManager"/><propertyname="useJTA"value="true"/><propertyname="taskService"ref="internalTaskService"/></bean><beanid="localTaskService"class="org.jbpm.task.service.local.LocalTaskService"depends-on="internalTaskService"><constructor-argref="internalTaskService"/></bean><beanid="myLocalTaskService"class="com.ripin.base.MyLocalTaskService"><propertyname="ksession"ref="ksession"/><propertyname="taskService"ref="localTaskService"/></bean></beans>