在项目LibrePlan中使用名称创建bean时出错

时间:2015-08-04 09:28:27

标签: java eclipse spring maven

我是Spring Web Application的新人。现在,我尝试checkout libreplanimport作为Maven Project in Eclipse

当我运行项目时,我得到以下错误:

[ERROR] Failed startup of context org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@10cbe802{/libreplan-webapp,/Users/fanjavaid/Documents/Works/Projects/project_management/libreplan/libreplan-webapp/src/main/webapp}
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0' defined in URL [file:/Users/fanjavaid/Documents/Works/Projects/project_management/libreplan/libreplan-business/target/classes/libreplan-business-spring-config.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in URL [file:/Users/fanjavaid/Documents/Works/Projects/project_management/libreplan/libreplan-business/target/classes/libreplan-business-spring-config.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:220)
        at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:618)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:467)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466)
        at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:224)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
        at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441)
        at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383)
        at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
        at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in URL [file:/Users/fanjavaid/Documents/Works/Projects/project_management/libreplan/libreplan-business/target/classes/libreplan-business-spring-config.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:470)
        at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:277)
        at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.detectPersistenceExceptionTranslators(PersistenceExceptionTranslationInterceptor.java:139)
        at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.<init>(PersistenceExceptionTranslationInterceptor.java:79)
        at org.springframework.dao.annotation.PersistenceExceptionTranslationAdvisor.<init>(PersistenceExceptionTranslationAdvisor.java:71)
        at org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor.setBeanFactory(PersistenceExceptionTranslationPostProcessor.java:84)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1572)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1540)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
        ... 52 more

这是我的 libreplan-business-spring-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <aop:aspectj-autoproxy/>

    <!--  Data source. -->
    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"
        p:jndiName="${dataSource.jndiName}" p:resourceRef="true" />

   <!-- Letting Spring do automatically exception translation -->
   <bean  class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>

    <!-- Hibernate Session Factory. -->
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
        p:dataSource-ref="dataSource" p:configLocation="classpath:/libreplan-business-hibernate.cfg.xml">
        <property name="mappingResources">
            <list>
                <value>
                    org/libreplan/business/advance/entities/Advance.hbm.xml
                </value>
                <value>
                    org/libreplan/business/resources/entities/Resources.hbm.xml
                </value>
                <value>
                    org/libreplan/business/orders/entities/Orders.hbm.xml
                </value>
                <value>
                    org/libreplan/business/templates/entities/Templates.hbm.xml
                </value>
                <value>
                    org/libreplan/business/planner/entities/Tasks.hbm.xml
                </value>
                <value>
                    org/libreplan/business/planner/entities/ResourceAllocations.hbm.xml
                </value>
                <value>
                    org/libreplan/business/workreports/entities/WorkReports.hbm.xml
                </value>
                <value>
                    org/libreplan/business/calendars/entities/Calendars.hbm.xml
                </value>
                <value>
                    org/libreplan/business/labels/entities/Labels.hbm.xml
                </value>
                <value>
                    org/libreplan/business/requirements/entities/Requirements.hbm.xml
                </value>
                <value>
                    org/libreplan/business/common/entities/Configuration.hbm.xml
                </value>
                <value>
                    org/libreplan/business/materials/entities/Materials.hbm.xml
                </value>
                <value>
                    org/libreplan/business/users/entities/Users.hbm.xml
                </value>
                <value>
                    org/libreplan/business/costcategories/entities/CostCategories.hbm.xml
                </value>
                <value>
                    org/libreplan/business/qualityforms/entities/QualityForms.hbm.xml
                </value>
                <value>
                    org/libreplan/business/common/entities/EntitySequence.hbm.xml
                </value>
                <value>
                    org/libreplan/business/externalcompanies/entities/ExternalCompanies.hbm.xml
                </value>
                <value>
                    org/libreplan/business/planner/entities/AdvanceConsolidations.hbm.xml
                </value>
                <value>
                    org/libreplan/business/planner/entities/SubcontractorCommunication.hbm.xml
                </value>
                <value>
                    org/libreplan/business/scenarios/entities/Scenarios.hbm.xml
                </value>
                <value>
                    org/libreplan/business/expensesheets/entities/ExpenseSheets.hbm.xml
                </value>
                <value>
                    org/libreplan/business/common/entities/Connector.hbm.xml
                </value>
                <value>
                    org/libreplan/business/common/entities/JobSchedulerConfiguration.hbm.xml
                </value>
            </list>
        </property>
    </bean>

    <!-- Spring Transaction manager  -->
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager"
        p:sessionFactory-ref="sessionFactory" />

    <!--
        Enable configuration of transactional behavior based on annotations
    -->
    <tx:annotation-driven transaction-manager="transactionManager" />

    <!--
        For enabling annotation-based configuration (in particular, required
        for Autowired annotation)
    -->
    <context:annotation-config />

    <context:component-scan base-package="org.libreplan.business" />

    <bean id="registry"
        class="org.libreplan.business.common.Registry"
        factory-method="getInstance" />

    <bean id="CriterionRequirementOrderElementHandler"
        class="org.libreplan.business.orders.entities.CriterionRequirementOrderElementHandler"
        factory-method="getInstance" />

    <bean id="versionInformation"
        class="org.libreplan.business.common.VersionInformation"
        factory-method="getInstance"
        lazy-init="false">
        <property name="projectVersion">
            <value>${project.version}</value>
        </property>
    </bean>

    <bean id="configuration"
        class="org.libreplan.business.common.Configuration"
        factory-method="getInstance"
        lazy-init="false">
        <property name="defaultPasswordsControl">
            <value>${default.passwordsControl}</value>
        </property>
        <property name="exampleUsersDisabled">
            <value>${default.exampleUsersDisabled}</value>
        </property>
    </bean>

    <bean id="scenarioManager"
        class="org.libreplan.business.scenarios.OnlyMainScenarioAwareManager"
        scope="singleton"/>

</beans>

出现这种错误的原因是什么?有没有遗漏一些配置?

0 个答案:

没有答案