在使用 DevTools 時巾腕,通用Mapper經(jīng)常會出現(xiàn) class x.x.A cannot be cast to x.x.A。
同一個類如果使用了不同的類加載器絮蒿,就會產(chǎn)生這樣的錯誤尊搬,所以解決方案就是讓通用Mapper和實(shí)體類使用相同的類加載器即可。
DevTools 默認(rèn)會對 IDE 中引入的所有項(xiàng)目使用 restart 類加載器土涝,對于引入的 jar 包使用 base 類加載器佛寿,因此只要保證通用Mapper的jar包使用 restart 類加載器即可。
在src/main/resources中創(chuàng)建 META-INF 目錄但壮,在此目錄下添加 spring-devtools.properties 配置冀泻,內(nèi)容如下:
restart.include.mapper=/mapper-[\\w-\\.]+jarrestart.include.pagehelper=/pagehelper-[\\w-\\.]+jar
使用這個配置后,就會使用 restart 類加載加載 include 進(jìn)去的 jar 包茵肃。
原文地址:https://github.com/abel533/MyBatis-Spring-Boot