问题:
今天再用 hutool
的 ObjectUtil
进行对象克隆的时候,发生了转型异常。
java.lang.ClassCastException: xx.xx.HttpCmdProperties cannot be cast to xx.xx.cmd.HttpCmdProperties
可以肯定的是,类的全限定名是一致的,是同一个类,但是竟然不能转型。
解决办法:
去掉 热加载依赖,如果有的话。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>provided</scope>
<optional>true</optional>
</dependency>
因为为了实现热部署,Devtools
原有自己的类加载器,进行更新,由于类加载器的不同导致类型转换失败。
也就是虽然类的全限定名称一致,但是类加载器不是同一个,所以不能算是同一个类。
可以看看 这篇 文章关于加载器的内容。
评论区