SpringBoot使用jrebel启动报错:JRebel-JVMTI [FATAL] Couldn't write to C:\Users

环境:idea2019.1.3,win10

车祸现场:

错误的原因很明显是由于我的电脑的用户名是中文,而jrebel不支持Unicode编码

解决方法有三种:

方法一:

直接修改电脑用户名,改成非Unicode字符,不过,此方法不太好

方法二:

更换idea的配置目录,详情请参考这个博客:

https://blog.csdn.net/Allen5185/article/details/89379826

方法三:

去jrebel官网未找到解决方法,然后查找一个网站看到一个大神的回答,如图

他推荐使用VM参数或者环境变量的方式去配置

使用VM参数的方法配置,然后把原本在用户目录下的jrebel整个目录(目录在idea下,C:\Users\XXX\.IntelliJIdea2019.1\config\plugins\jr-ide-idea\lib\jrebel6,把XXX换成你的用户名,idea版本替换成你的版本)复制过来放在其他不是Unicode编码的路径下,我这里是放在了D盘

C:\Users\XXX\.IntelliJIdea2019.1\config\plugins\jr-ide-idea\lib\jrebel6

 

-Drebel.base=D:\Java\idea\jrebel6

不过,改成环境变量的配置,依然报错,好像并没有覆盖掉jrebel的目录,如下:

REBEL_BASE=D:\Java\idea\jrebel6

 

在最新的jrebel更新后,上面的方法也失效了,原因是本质上并没有覆盖掉jrebel的base目录,报错信息为:

JRebel-JVMTI [FATAL] A fatal error occurred while processing the base Java classes. The JVM has been shut down (1).

从根本上解决问题的方法:

不过,在idea的springboot配置界面发现了可以替换的方法,覆盖掉默认的配置路径,改为自己设置的路径,经测试可以从根本上搞定问题(依然需要把jrebel6目录copy过去)。这里说下idea和jrebel的版本都是2019.1.3

具体配置:

 

个人认为这是目前最好的解决方式,简单而且从根本上解决了问题,看了很多博客都不太好,由于版本的原因有些方法经验证根本没用。

如果上面的方法都没有解决问题,可以使用其他方式去热部署;

①使用idea自带的方式,右键(快捷键为Ctrl + Shift +F9)Recompile,前提勾选update class and resources

缺点,新添加的方法不能热部署,配置文件更改也不能

②使用springboot官方的devtools,这个可以不仅可以热部署class文件,还可以热部署配置文件

具体方法,请大家百度,网上已经有很多种博客

 

如果哪位大佬有更好的处理方法,欢迎讨论。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值