起因是应用升级mybatis包,从mybatis-3.4.1.jar升级到mybatis-3.5.7.jar之后就启动报错。
报错内容
1.Caused by: java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V
2.Caused by: java.lang.ClassNotFoundException: com.mchange.v2.cfg.MConfig
3.java.lang.AbstractMethodError: Method com/mysql/jdbc/ResultSet.isClosed()Z is abstract
以上三个错误寻找解决办法的时候交替出现
解决办法:替换jar包解决冲突
第一步.替换mchange和c3p0的jar包。
mybatis-3.4.1.jar | mybatis-3.5.7.jar |
mchange-commons-java-0.2.3.4.jar | mchange-commons-java-0.2.11.jar |
c3p0-0.9.2.1.jar | c3p0-0.9.5.2.jar |
第二步.在解析或加载xml代码前加这段,解决解析xml冲突System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");