吐槽区:
我真的是怀疑自己和bug是一对,天天遇到的问题都奇怪,上次遇到这种问题的时候我换到版本0.9.5.2就好了,今天换了版本在lib库里死活不显示,也确实没有。
对比图如下:
0.9.1.2
0.9.5.2
这里可能会有朋友会说,你少一个0.2.11版本mchange-commons-java
,我自然是加上去过的,但是没用,真不知道我上次为啥编译通过的…
问题描述:
在使用SSM框架时,出现java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClosed()Z is abstract
原因分析:
mybatis版本与c3p0版本不匹配,因为某个bug的原因我用的mybatis版本由3.4.5改成了3.5.3,也正是因为这个版本的问题导致了错误的出现,3.5.3的mybatis对于0.9.1.2c3p0来说太高了
解决方案:
方法一:将mybatis版本降到3.4.5即可
方法二:至于改c3p0版本这个其他人已经写了很多,我就不多说了,直接上方法
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>mchange-commons-java</artifactId>
<version>0.2.11</version>
</dependency>