今天用spring配置c3p0数据源的时候,报出如下错误:
Caused by: java.lang.NoClassDefFoundError:com/mchange/v2/ser/Indirector
一、问题场景
使用c3p0-0.9.5.2.jar时:
下载地址:http://mvnrepository.com/artifact/com.mchange/c3p0/0.9.5.2
在项目中引进新版的c3p0.jar包的时候,报错:
Caused by: java.lang.NoClassDefFoundError:com/mchange/v2/ser/Indirector
二、解决方法
只需要添加mchange-commons-java包就可以解决了。
我用的是mchange-commons-java-0.2.11.jar包:
下载地址:http://mvnrepository.com/artifact/com.mchange/mchange-commons-java/0.2.11
加入后c3p0和这个包便会自动依赖,然后错误就解决了。
其实这个问题和版本有很大的关系,我用c3p0-0.9.1.2.jar就没出过这种问题。似乎老的版本没事,但在c3p0-0.9.1.2.jar以上的版本就会出现这个问题,有待测试。
三、总结
记录一下。