2014-07-23 3 views
0

스프링 3.0.5.RELEASE를 사용하고 최대 절전 모드 코어 버전 3.6.8.Final을 JSF 으로 실행하여 서버 Tomcat을 실행합니다.org.springframework.beans.factory.BeanCreationException : 이름이 'transactionManager'인 빈을 생성하는 중 오류가 발생했습니다.

콩 ID = "는 dataSource"클래스 = "org.apache.commons.dbcp.BasicDataSource": 7 나는이 내 프로젝트 메이븐 내 응용 프로그램의 context.xml입니다

Grave: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.ContextLoaderListener 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [application-context.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getConnectionProvider()Lorg/hibernate/service/jdbc/connections/spi/ConnectionProvider; 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1486) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getConnectionProvider()Lorg/hibernate/service/jdbc/connections/spi/ConnectionProvider; 
    at org.springframework.orm.hibernate4.SessionFactoryUtils.getDataSource(SessionFactoryUtils.java:90) 
    at org.springframework.orm.hibernate4.HibernateTransactionManager.afterPropertiesSet(HibernateTransactionManager.java:252) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1545) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1483) 
    ... 21 more 

이 예외를 가지고 >
.........

  </list> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
      </props> 
     </property> 
    </bean> 
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory"/> 
    </bean> 
    <tx:annotation-driven transaction-manager="transactionManager" /> 
    <context:annotation-config/> 
    <context:component-scan base-package="fr.ensa.agadir"/> 

</beans> 
+0

도서관 문제가 있습니다. 버전을 확인하십시오. –

답변

0

당신은 당신의 최대 절전 모드 버전과 호환이 아니다 봄 버전이있다.

당신은 메이븐을 사용하는 경우

mvn dependency:tree 

를 실행하고 최대 절전 모드 항아리의 모든 항목을 찾습니다.

보통 클래스 경로에 Hibernate 4와 Hibernate 3 jar가 있기 때문입니다.

Bonne chance! 당신이 당신의 클래스 경로에 4.0 단지를 최대 절전 모드가있는 경우

+0

maven run.to mvn dependency를 실행하는 곳 : tree – user3574144

+0

MAVEN을 사용하지 않고 있다고 생각합니다. –

+0

아니요 저는 Maven 프로젝트를 사용하고 있습니까 ?? – user3574144

1

당신은 클래스 패스가 최대 절전 모드 4.0 항아리가없는 경우 모든 절전 항아리를 제거 org.springframework.orm.hibernate4.LocalSessionFactoryBean 대신 org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean

의 사용 및 최대 절전 모드 4.0 단지를 추가하고 org.springframework를 사용해야합니다 .orm.hibernate4.LocalSessionFactoryBean.

+0

난 내 pom.xml 파일이있는 \t \t \t org.hibernate \t \t \t 최대 절전 모드 코어 \t \t \t 3.6.8.Final \t \t \t 항아리 \t \t \t 컴파일 \t \t user3574144

+0

적절하게 버전 및 이슈 ID를 변경하거나 수동으로 WEB-INF/lib에 JARS를 추가하십시오 –

관련 문제