Error one: org.springframework.beans.factory.BeanCreationException : Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool 原因: 在夏昕写的spring开发指南里,如果学习使用dbcp配置的时候,可能会发生这样一个错误:
该问题的产生是由于没有引入dbcp所依赖jar文件,看看apache官方的申明:“Commons-DBCP depends at runtime on commons-pool and commons-collections ”。
解决方法 :
在eclipse里面将这两个jar文件引入,ok,问题解决。
Error two: org.springframework.beans.factory.BeanCreationException : Error creating bean with name 'mySessionFactory' defined in ServletContext resource [/WEB-INF/classes/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 at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)
原因:
在使用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.2.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 自己的一个小测试: (运行环境:apache-tomcat-5.5.15 + .MyEclipse_5.5GA_E3.2.2 ) 整合ssh项目中, 在 Tomcat 部署的环境中 D:/tomcat/webapps/my/WEB-INF/lib 发生了点异常:同时有 asm.jar、asm-attrs.jar、asm-2.2.3.jar 、 asm-commons-2.2.3.jar asm-util-2.2.3.jar、 cglib-nodep-2.1_3.jar 在启动tomcat中不会出现异常信息。(我想asm-2.2.3jar可能在一定程度上作了改进。) 当 在D:/tomcat/webapps/my/WEB-INF/lib 下加入 cglib-2.1.3.jar 会报上面的java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit错误信息。 说明cglib-2.1.3.jar与其它包发生了冲突。 Error three: at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:408) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: net/sf/hibernate/Session java.lang.NoClassDefFoundError: net/sf/hibernate/Session at java.lang.Class.getDeclaredMethods0(Native Method) 原因 : 在写dao 时,导入包出错了! import org.springframework.orm. hibernate. support.HibernateDaoSupport; 解决方法:注意在导包时,要仔细了! package com.jhl.dao; import org.springframework.orm. hibernate3. support.HibernateDaoSupport; import com.jhl.po.User; public class UserDao extends HibernateDaoSupport { public void save(User user) { this.getHibernateTemplate().save(user); } } Error four: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass Caused by: java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass 原因:hibernate3.jar和hibernate-annotations.jar)的问题。 解决方法:把hibernate-annotations.jar直接去掉就OK了! 总结: 运行环境:apache-tomcat-5.5.15 + .MyEclipse_5.5GA_E3.2.2 我觉得报以上种种的原因:主要是在spring version的选择上,最好选择 spring version 1,若选spring version 2(最容易报这样和那样的错了) 它下面的(spring1.2 AOP Libraries 、spring 1.2 Core Libraries、spring 1.2 ORM/DAO/Hibernate3Libraries、spring 1.2 Web Libraries) struts1.2 + spring 1 + Hibernate3.1