首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/

2011-11-25 
Spring整合Hibernate时出现的sessionFactory配置异常我用JUnit做单元测试,手动启动Spring容器时一切正常,

Spring整合Hibernate时出现的sessionFactory配置异常
我用JUnit做单元测试,手动启动Spring容器时一切正常,但从Tomcat加载Spring的applicationContext.xml文件时却报了如下的错误,请大家帮我看看,谢谢
我的Spring是配置在web.xml中的
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
严重: 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 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V

[解决办法]
估计是asm-2.2.3.jar冲突,删了它,然后重启tomcat
[解决办法]
要是不行还可以试试在web.xml中加入
<context-param> 
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext-*.xml,/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param> 
/WEB-INF/classes/是你存放applicationContext.xml的路径,我也碰到过类似的问题

或者也可以看看如下:
在使用Spring的AOP编程时,会用到这几个lib:
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
Hibernate使用如果lib:
asm.jar
asm-attrs.jar
其中asm-2.2.2.jar与asm.jar存在类上的冲突!!!
使用其中之一或两者都使用,可能会出现如下错误:
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。。。。。。
解决办法是:
1.去掉类路径上的关于Hibernate的3个lib
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
2.加入Spring中的以下4个lib
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
cglib-nodep-2.1_3.jar
[解决办法]
ams.jar版本低或者版本冲突
[解决办法]
在classpath文件中删除 asm-2.2.3 cglib-2.1.3

热点排行