解决方案摆在前面,增加服务运行内存,避免JRebel检测失败:
-Djava.awt.headless=true -Xms2048m -Xmx2048m
随着项目的开发,工程文件越来越多,改动一个地方看效果还要重新启动项目,两眼无神顶着屏幕就得五分钟,太煎熬。
好在有个传说中的JRebel排上了用处,一个热部署启动实时更新文件,简直不要太爽!
可是,突然有一天这位老大哥却死活起不来,变成了下面这样:
Connected to the target VM, address: '127.0.0.1:64191', transport: 'socket'
2020-05-12 21:37:31 JRebel: Starting logging to file: C:\Users\aikes\.jrebel\jrebel.log
2020-05-12 21:37:31 JRebel:
2020-05-12 21:37:31 JRebel: #############################################################
2020-05-12 21:37:31 JRebel:
2020-05-12 21:37:31 JRebel: JRebel Agent 2020.2.1 (202004290936)
2020-05-12 21:37:31 JRebel: (c) Copyright 2007-2020 Perforce Software, Inc.
2020-05-12 21:37:31 JRebel:
2020-05-12 21:37:31 JRebel: Over the last 24 days JRebel prevented
2020-05-12 21:37:31 JRebel: at least 99 redeploys/restarts saving you about 0.1 hours.
2020-05-12 21:37:31 JRebel:
XRebel: Starting logging to file: C:\Users\aikes\.xrebel\xrebel.log
2020-05-12 21:37:31 JRebel: License acquired from License Server: https://jrebel.qekang.com
2020-05-12 21:37:31 JRebel:
2020-05-12 21:37:31 JRebel: Licensed to aikes.
2020-05-12 21:37:31 JRebel:
2020-05-12 21:37:31 JRebel: You are using an offline license.
2020-05-12 21:37:31 JRebel:
2020-05-12 21:37:31 JRebel:
2020-05-12 21:37:31 JRebel: #############################################################
2020-05-12 21:37:31 JRebel:
XRebel:
XRebel: ################################################################
XRebel:
XRebel: XRebel 2020.1.1 (202002131649)
XRebel: (c) Copyright ZeroTurnaround AS, Estonia, Tallinn.
XRebel:
XRebel: For questions and support, contact xrebel@zeroturnaround.com
XRebel:
XRebel: ################################################################
XRebel:
Disconnected from the target VM, address: '127.0.0.1:64191', transport: 'socket'
Process finished with exit code 1
没有任何多余的 “废话” ,就是告诉你:我累了,起不来了.....
切换到正常的Run、Debug模式却都是可以启动的,甚至连XRebel也可以启动,唯独JRebel就这样半死不活。然后又去C盘找了JRebel启动日志,排查了半天也是风平浪静一切正常,上网搜了说JDK版本、Maven版本总觉得离谱,并不是我遇到的这种情况。在折腾了好久之后终于找到了正主,原来是启动的VM参数太小导致JRebel检测不通过,直接终止本次启动,所以在Server config中补充VM Options即可
至此,项目可以正常使用JRebel方式启动,情况不一样解决方案也不太相同,供大家参考!