幻境栖息地

spring-boot-devtools 导致的序列化问题

更新于: 2021/08/27 18:09


devtools 会导致在对象反序列化时出现错误,一般都是 cannot be cast to class xxxx,

即使真的是同一个对象,也会失败,原因和报错信息描述一样,因为 devtools 导致对应类的类加载器和原始类的不同,类加载器不同,类当然是不同的。错误信息如下:

java.lang.ClassCastException: class com.xxxxxxx cannot be cast to class xxxxxxxx (xxxxx is in unnamed module of loader 'app'; xxxxx is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @49e063e1)
  at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[na:na]
遇到问题的话直接关闭这个工具,后续等官方解决方案吧。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency>
浙ICP备16006181号-1