pageHealper与mybatis-plus依赖冲突问题
背景:
由于项目中目前引用的是mp。但是由于从历史代码迁移的模块,使用了pageHealper,因此为了减少代码的修改量,不得不考虑同时使用mp和pageHealper。
出现问题:
项目启动没有问题,这里与网上部分人遇到的问题有些差别(大多数是启动报错),但是在用mp进行修改的时候,出现了 java.lang.NoSuchMethodError: net.sf.jsqlparser.statement.update.Update.getTab 这样的异常
问题原因:
经过排查发现,主要就是依赖冲入导致的,冲突的依赖jar包为 jsqlparser
最初用的pageHealper依赖的jsqlparser 版本过低
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.7</version>
</dependency>
解决方式:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.12</version>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId>
</exclusion>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</exclusion>
<exclusion>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
</exclusion>
</exclusions>
</dependency>
升级pageHealper版本,使其使用的jsqlparser版本与mp的兼容;并且排除掉 mybatis,mybatis-spring,jsqlparser这三个jar包,避免依赖冲突