SpringBoot热部署导致同一个类型转换出现类型转换异常ClassCastException

在springboot开发中,遇到一个离奇的问题,同一个类型在转换的时候,竟然出现了类型转换异常。这种问题怎么能忍。最后发现是spring-boot-devtools热部署依赖导致的。

如下代码是获取session中保存的user信息,并返回。

SpringBoot热部署导致同一个类型转换出现类型转换异常ClassCastException

但是就在类型转换的时候,出现了莫名其妙的类型转换异常:

 SpringBoot热部署导致同一个类型转换出现类型转换异常ClassCastException

通过调试,可以很明确的知道,session中取出来的对象就是User,但是在转换的时候就抛出异常。

SpringBoot热部署导致同一个类型转换出现类型转换异常ClassCastException

一般的类型转换异常,是由于疏忽,出现了不同类型的转换导致的,但是这里的报错信息让人捉摸不透。后来一步一步排查,发现是由于springboot热部署依赖导致的,去掉如下的依赖。这个类型转换异常就不再抛出了。

SpringBoot热部署导致同一个类型转换出现类型转换异常ClassCastException

去掉spring-boot-devtools 之后调试,不再抛出异常了:

SpringBoot热部署导致同一个类型转换出现类型转换异常ClassCastException