SSH整合的一个问题
严重:
Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListenerorg.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
Caused by:
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
myeclipse报的这个错,不知道什么情况,接下来把3个配置文件发下,大家帮忙看是不是哪错了.
------解决方案-------------------- <listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener </listener-class>
</listener>
换成SERVLET试试.有时LISTENER不好用.
------解决方案--------------------我把我最近查到的结果给你看吧:
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;)
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit
还是用上面的方法,找到了包asm.jar里的这个类,见鬼了,这回跟上次不一样的是,这个包在工程的lib目录里也有呀,为何会“not found”呢?后来又在asm-2.2.3.jar里也有这个类,经过N次的测试,感觉是这两个包有冲突,google之后,发现是Spring2.0的AOP与Hibernate3.1/3.2之间的冲突。
由于在使用Spring的AOP编程时,会用到以下这几个jar文件:
asm-2.2.3.jar
asm-commons-2.2.3.jar
asm-util-2.2.3.jar
与Spring相对应的,Hibernate使用如下的jar文件:
asm.jar
asm-attrs.jar
由于其中的asm-2.2.3.jar与asm.jar存在类上的冲突,就会出现如下的报错:
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitorjava.lang.
NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitorjava.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit
解决办法是:
1.屏蔽掉类路径上的关于Hibernate的3个jar文件
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
2.加入Spring中的以下4个jar文件
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
cglib-nodep-2.1_3.jar
------解决方案--------------------架包有问题
解决办法是:
1.屏蔽掉类路径上的关于Hibernate的3个jar文件
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
2.加入Spring中的以下4个jar文件
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
cglib-nodep-2.1_3.jar
这个是对的
------解决方案--------------------这个问题我以前也接触过,开始的时候我也找不到问题的原因,后来我进了一个技术交
流群,这个群里的人挺多的,在里面可以沟通技术,你可以进去看一下.群号是:五九零
四九二六八。另外,这个群里可以接项目。