錯(cuò)誤:java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。<init>(I)V
Hibernate要求的ASM版本(asm-1.5.3.jar)與Spring要求的ASM版本不兼容。但是,實(shí)際上,我想知道為什么你的類路徑上有asm-2.2.3.jar(ASM捆綁在spring.jar和spring-core.jar中,以避免AFAIK這樣的問(wèn)題)。
解決方法我正在開(kāi)發(fā)一個(gè)小的Spring應(yīng)用程序。我必須將學(xué)生信息的詳細(xì)信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。我已經(jīng)開(kāi)發(fā)了一個(gè)SimpleFormController。我已經(jīng)使用過(guò)NetBeans + Hibernate映射+ Spring。部署項(xiàng)目時(shí),發(fā)生以下錯(cuò)誤。
我的spring-config-db-applicationContext.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd"><beans><!-- Hibernate session factory --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <constructor-arg index="0"><value>${driverClassName}</value> </constructor-arg> <constructor-arg index="1"><value>${url}</value> </constructor-arg> <constructor-arg index="2"><value>${username}</value> </constructor-arg> <constructor-arg index="3"><value>${password}</value> </constructor-arg> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"><ref bean="dataSource"/> </property> <!-- <property name="configLocation"><value>WEB-INF/classes/hibernate.cfg.xml</value> </property> --> <property name="mappingResources" ><list> <value>hibernate.cfg.xml</value></list> </property> <!-- <property name="configurationClass"><value>org.hibernate.cfg.AnnotationConfiguration</value> </property> --> <property name="hibernateProperties"><props> <prop key="hibernate.dialect">${dialect}</prop> <prop key="hibernate.show_sql">true</prop> <!--<prop key="hibernate.hbm2ddl.auto">create</prop>--></props> </property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"><ref bean="sessionFactory"/> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"><ref bean="sessionFactory"/> </property> </bean></beans>
發(fā)生以下錯(cuò)誤:
ERROR (org.springframework.web.context.ContextLoader:213) - Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name ’sessionFactory’ defined in URL [jndi:/localhost/Student/WEB-INF/classes/config/spring-db-applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)Vat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1395)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:289)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:286)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:188)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:526)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:730)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:387)at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:270)at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)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.deployDescriptor(HostConfig.java:627)at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1231)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.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1471)at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:824)at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:350)at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:196)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)at java.lang.Thread.run(Thread.java:619)Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)Vat net.sf.cglib.core.DebuggingClassWriter.<init>(DebuggingClassWriter.java:47)at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:144)at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:116)at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)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:108)at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:61)at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:238)at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1304)at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:813)at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:731)at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1454)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1392)... 48 moreMar 12,2010 5:32:28 PM org.apache.catalina.core.StandardContext startSEVERE: Error listenerStart
相關(guān)文章:
1. javascript - 如何讓移動(dòng)端網(wǎng)頁(yè)的輸入框固定在底部?2. MySQL中無(wú)法修改字段名的疑問(wèn)3. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開(kāi)收起效果4. Matlab和Python編程相似嗎,有兩種都學(xué)過(guò)的人可以說(shuō)說(shuō)嗎5. javascript - 微信小程序封裝定位問(wèn)題(封裝異步并可能多次請(qǐng)求)6. 大家好,請(qǐng)問(wèn)在python腳本中怎么用virtualenv激活指定的環(huán)境?7. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒(méi)有反應(yīng)8. python的前景到底有大?如果不考慮數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)這塊?9. mysql - 怎么讓 SELECT 1+null 等于 110. javascript - 微信小程序限制加載個(gè)數(shù)
