上一篇jar包冲突 本文记录又一次出现jar包冲突并附带排查过程。
在做接口测试时发现,分页插件出现如下异常 NoSuchMethodError
结论: jar包冲突导致
jar包加载分析:如下图所示,与分页插件配套的是1.0版本jsqlparse(即pageHelp包中引用的是1.0jsqlparse),但根据maven最短路径原则,项目最后依赖的是3.2版本jsqlparse,而,两个版本方法存在差异,当CountSqlParser类中isSimpleCount方法调用PlainSelect老方法时,生效的PlainSelect类(3.2版本)不存在该方法,导致查询时报错。
maven加载jar包仲裁机制: