[问题与解决] java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V

来源:互联网 发布:实体店淘宝数据包 编辑:程序博客网 时间:2024/05/29 03:10

出错 环境

 MyEclipse10 : Struts2 +Hibernate3.3+Spring 2.5 


出错现象

root cause

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testa' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)Vorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)java.security.AccessController.doPrivileged(Native Method)

问题原因

Hibernate3.3 Core Libraries 中的 cglib-2.2.jar 和 Spring 2.5 AOP Librariest 中的  cglib-nodep-2.1_3.jar 版本不一致 发生冲突。


解决方法

删除Hibernate3.3 Core Libraries 中的 cglib-2.2.jar  

操作步骤 为 windows->Preferences->MyEclipse->Project Capabilities ->Hibernate ->Hibernate 3.3 

     Library modules 选择 Hibernate3.3 Core Library 

     把cglib-2.2.jar  remove

     Project-->Clean 重新部署


问题思考

Hibernate3.3 是否与 Spring2.5 在某种程度上不兼容? 而Hibernate3.2 中的cglib 的版本为2.1_3。Hibernate3.2 +Spring 2.5 的话可能会减少一些这样的问题。

原创粉丝点击