这个只是一种一种情况,如果没法解决,可以再google一下其他的解法
错误原因有很多,只能说可以试一下,如果还是有问题,可以多搜一下解决方法
大家如果有一样的报错,由不同原因引起,可以在文章下留言解法,给后来者增加解决方案
肚子疼让你挂个氨基酸显然没有办法解决问题
一般我们使用spring配置dataSource的时候会用到这样的配置
<bean id="dataSource" class="com.mchange.v2.c3p0.C3P0PooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql:///warehouse?characterEncoding=utf8"/>
<property name="user" value="root"/>
<property name="password" value="123"/>
</bean>
在一次项目运行中出现了如下问题
在大佬的帮助下定位到了
Annotation-specified bean name ‘c3P0PooledDataSourceMBean’ for bean class [com.mchange.v2.c3p0.mbean.C3P0PooledDataSourceMBean] conflicts with existing, non-compatible bean definition of same name and class [com.mchange.v2.c3p0.jboss.C3P0PooledDataSourceMBean]
这句话
发现是创建c3p0的bean的时候创建了mbean 和jboss两个bean进而去找了jar包的信息
发现jar包中
两个C3P0PooledDataSource的class文件,由此发现平时的c3p0配置中class="com.mchange.v2.c3p0.C3P0PooledDataSource"
会导致产生两个c3p0的bean导致冲突,所以应该将这条配置信息改成<bean id="dataSource" class="com.mchange.v2.c3p0.mbean.C3P0PooledDataSource">
这样,就能避免冲突