在學習spring的時候出現瞭如下異常: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resourc ...
在學習spring的時候出現瞭如下異常:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1076)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1021)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.durex.spring.jdbc.JdbcTest.<init>(JdbcTest.java:16)
經檢查發現我已經導入了c3p0-0.9.2.1.jar這個包並且xml中的配置也沒有錯,但是為什麼還會出錯?
在網上查了一下發現了問題的所在:
原來在c3p0-0.9.2.2.jar這個版本的包的時候已經分離出來了一個輔助包mchange-commons-java-0.2.3.4.jar,
而在c3p0-0.9.2.1.jar的時候還只是一個包,所以當使用的是c3p0-0.9.2.2.jar的時候必須還得導入mchange-commons-java-0.2.3.4.jar,
如果使用的是c3p0-0.9.2.1.jar,這一個包就可以搞定。