使用 DevTools 時,通用Mapper經常會出現 class x.x.A cannot be cast to x.x.A

同一個類如果使用了不同的類加載器,就會產生這樣的錯誤,所以解決方案就是讓通用Mapper和實體類使用相同的類加載器即可。
DevTools 默認會對 IDE 中引入的所有項目使用 restart 類加載器,對於引入的 jar 包使用 base 類加載器,因此只要保證通用Mapper的jar包使用 restart 類加載器即可。
在 src/main/resources 中創建 META-INF 目錄,在此目錄下添加 spring-devtools.properties 配置,內容如下:
restart.include.mapper=/mapper-[\w-\.]+jar
restart.include.pagehelper=/pagehelper-[\w-\.]+jar
使用這個配置後,就會使用 restart 類加載加載 include 進去的 jar 包。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章