Tomcat中的“Error listenerStart”错误信息:asm与cglib的版本兼容问题

tomcat启动以后,webapp没有正常部署,检查tomcat控制台,发现如下打印信息:

二月 28, 2014 7:07:16 下午 org.apache.catalina.core.StandardContext startInternal

严重: Error listenerStart


再检查log日志,发现有如下错误信息:

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateSessionFactory' defined in ServletContext resource [/WEB-INF/classes/spring/hibernate/hibernate.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
	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:294)
...
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
	at 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 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
	... 25 more

从打印信息看,是在DebuggingClassWriter初始化过程中出错的。找到47行出错的地方:

       super(computeMaxs);

因为DebuggingClassWriter的父类是org.objectweb.asm.ClassWriter,检查源代码,发现使用的包中,该类没有对应的构造函数(boolean型),只有Int型。由此判断,应该是引用的包版本不兼容。检查了一下使用的包:cglib-2.1_3.jar和asm-3.3.jar。asm版本太新,回退到1.5.3就可以了。

这个错误的包是怎么引起的呢?

原来在pom.xml中没有定义asm,系统自动下载了3.3版本。在pom中重新添加:

		<dependency>
			<groupId>asm</groupId>
			<artifactId>asm</artifactId>
			<version>1.5.3</version>
		</dependency>


问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值