侧边栏壁纸
博主头像
Lin2J博主等级

升级了服务器,访问应该会更加流畅🇨🇳

  • 累计撰写 94 篇文章
  • 累计创建 39 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

同类间发生cannot-be-cast-to的问题

Lin2J
2021-04-19 / 0 评论 / 0 点赞 / 708 阅读 / 519 字 / 正在检测是否收录...

问题:

今天再用 hutoolObjectUtil 进行对象克隆的时候,发生了转型异常。

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原有自己的类加载器,进行更新,由于类加载器的不同导致类型转换失败。

也就是虽然类的全限定名称一致,但是类加载器不是同一个,所以不能算是同一个类。

可以看看 这篇 文章关于加载器的内容。

0

评论区