美文网首页
devtools 导致 相同类型强转失败

devtools 导致 相同类型强转失败

作者: 忧郁的小码仔 | 来源:发表于2017-07-21 16:39 被阅读330次

在使用shiro的session存取对象的时候,发现取对象强转会失败,即便是User类型转User类型也会失败。

出现这种问题的原因是这两个对象的ClassLoader不同导致的(如果同一类型的对象的ClassLoader不同,强制转换也是会失败的)。

比如说我使用了spring-boot-devtools这个依赖,默认启动的时候会使用RestartClassLoader这个ClassLoader类加载class,但是以jar形式引入的class会使用基础的ClassLoader(也就是AppClassLoader)加载。

对于devtools引起的这个问题可参考使用Spring Boot本地启动,第三方包无法修改项目内静态常量,后来发现devtools实在是不太优雅,转而投奔JRebel了。下面介绍下JRebel在IDEA中的安装使用。

1.到myJRebel中注册一个账号:

myJRebel

2.打开IDEA中的设置页面

Preferences->Plugins->Browse repositories

屏幕快照 2017-07-21 下午4.33.26.png 屏幕快照 2017-07-21 下午4.33.17.png

输入JRebel,然后安装即可:

3.安装完成之后重启IDEA

依次选择 Help->JRebel->Activcation
选择第二项,用license激活,这里的Activcation code在你注册完myJRebel之后可以找到:

屏幕快照 2017-07-21 下午4.20.58.png

4.激活完成后,右击项目根目录

自动添加rebel.xml文件


屏幕快照 2017-07-21 下午4.35.50.png
5.好了,到此基本完成,点击rebel图标启动工程即可,后面修改的代码会实时部署,不需要再重启。
屏幕快照 2017-07-21 下午4.38.25.png

加油站加盟

相关文章

  • devtools 导致 相同类型强转失败

    在使用shiro的session存取对象的时候,发现取对象强转会失败,即便是User类型转User类型也会失败。 ...

  • IDEA JRebel热部署

    关于JRebel的安装和激活请参考devtools 导致 相同类型强转失败 1.配置tomcat 2.查看和添加加...

  • SpringBoot devtools导致类型转换异常

    最近使用 springboot 及 netty 进行中间件开发,其中出现很奇怪的问题,同样的 Class 在做 f...

  • TypeScript

    强类型与弱类型 类型安全纬度:强类型与弱类型强类型:语言层面限制函数的形参类型和实参类型必须相同。弱类型:语言层面...

  • 强弱类型、动态类型与静态类型初探

    一、强弱类型 类型安全:强类型、弱类型;1974年提出 强类型:语言层面限制实参类型必须与形参类型相同,不允许任意...

  • 问题:Intent没有接受到数据

    将age强转为String类型 或者将接受类型改为相同的数据类型

  • 自学swift(一)语法记录

    一、常量和变量 二、声明类型 三、大数位数字区分 四、类型强转 五、类型强转 六、bool 七、元组 八、Opti...

  • JavaScript语言类型相关

    从类型安全角度来比较,可以分为以下: 强类型与弱类型 强类型:语言层面限制函数的实参类型必须与形参类型相同弱类型:...

  • 强类型与弱类型

    强类型与弱类型(类型安全角度) 强类型:语言层面限制函数的实参类型必须和形参类型相同 弱类型:不会限制实参必须与形...

  • ts 类型强转

    typescript 类型 强行转换 提示:如果不能很好的控制变量类型,我建议不要强转。 ts 关键词:as 未知...

网友评论

      本文标题:devtools 导致 相同类型强转失败

      本文链接:https://www.haomeiwen.com/subject/gbyekxtx.html