2013-03-22 64 views
0

雖然我struts1的發展,spring,hibernate的應用程序我得到一個異常春天,Struts中,Hibernate的應用程序引發錯誤時拋出org.springframework.beans.factory.BeanCreationException

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 
'sessionFactory' defined in ServletContext resource 
[/WEB-INF/spring-servlet.xml]: 
Invocation of init method failed; nested exception 
is java.lang.NoSuchMethodError:  
net.sf.cglib.proxy.Enhancer.setInterceptDuringConstruction(Z)V 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring-servlet.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: net.sf.cglib.proxy.Enhancer.setInterceptDuringConstruction(Z)V 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:356) 
at org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext(ContextLoaderPlugIn.java:297) 
at org.springframework.web.struts.ContextLoaderPlugIn.init(ContextLoaderPlugIn.java:227) 
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:1158) 
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:473) 
at javax.servlet.GenericServlet.init(GenericServlet.java:212) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4042) 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4348) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) 
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920) 
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883) 
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) 
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) 
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) 
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
at org.apache.catalina.core.StandardService.start(StandardService.java:516) 
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
at org.apache.catalina.startup.Catalina.start(Catalina.java:566) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 
Caused by: java.lang.NoSuchMethodError: net.sf.cglib.proxy.Enhancer.setInterceptDuringConstruction(Z)V 
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:126) 
at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43) 
at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162) 
at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135) 
at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55) 
at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56) 
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302) 
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434) 
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109) 
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55) 
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226) 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300) 
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:860) 
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:779) 
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 
... 41 more 
Mar 23, 2013 12:02:25 AM org.apache.catalina.core.ApplicationContext log 
INFO: Marking servlet action as unavailable 
Mar 23, 2013 12:02:25 AM org.apache.catalina.core.StandardContext loadOnStartup 
SEVERE: Servlet /Bank threw load() exception 
javax.servlet.UnavailableException 
at  org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:1169) 
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:473) 
at javax.servlet.GenericServlet.init(GenericServlet.java:212) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4042) 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4348) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) 
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920) 
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883) 
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) 
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) 
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) 
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
at org.apache.catalina.core.StandardService.start(StandardService.java:516) 
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
at org.apache.catalina.startup.Catalina.start(Catalina.java:566) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

如何,我可以解決它,我嘗試了很多解決方案就像我使用hibernate-3.2.6.ga jar和cglib-nodep-2.1_3jar,但仍然沒有解決這個問題。請幫助我,我只是卡在這裏。

這是我的春天-servlet.xml文件

<beans 
xmlns="http://www.springframework.org/schema/beans" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 
<context:annotation-config/> 
    <bean id="dataSource" 
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost/vik" /> 
    <property name="username" value="root" /> 
    </bean> 

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
    <property name="dataSource"> 
     <ref bean="dataSource" /> 
    </property> 
     <property name="mappingResources"> 
     <list> 
      <value> 
       com/hibernate/Customer.hbm.xml</value> 
      <value>com/hibernate/Account.hbm.xml</value> 
     </list> 
    </property> 

    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
     </props> 
    </property> 
</bean> 

<bean id="htemp" class="org.springframework.orm.hibernate3.HibernateTemplate" 
    autowire="constructor" /> 
<bean id="txManager" 
    class="org.springframework.orm.hibernate3.HibernateTransactionManager" 
    autowire="byName" />  
<beans> 
+1

你能向我們展示applicationcontext.xml中的「sessionfactory」bean配置? – 2013-03-22 18:52:02

回答

0

關於你的問題,這裏是我的解決方案:

just use cglib-2.1_3jboss.jar instead of cglib-nodep-2.1_3jar. 

它會工作得很好,祝你好運:)

相關問題