JRebel
JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。从而提高开发效率。
其官网地址为http://zeroturnaround.com/ ,由于国内访问受限,可通过http://www.jidaili.com/ 代理访问。下图是对其能力的简要概括:
1.获取jar与licence文件
2.JRebel的配置 请将jrebel.lic放置于C:\Documents and Settings\操作系统用户名\.jrebel目录下
3.配置JVM启动参数
假如你的JRebel文件目录在C:\Jrebel
在需要运行JRebel的JVM参数中加入:
-noverify –javaagent:C:\JRebel\jrebel.jar ,
即可在该JVM启动时使JRebel生效
通常,我们更希望将其配置在一个weblogic应用中,这时建议在与应用的bin
文件夹的同级的目录里创建文件startWeblLogicWithJRebel.cmd
最后效果 :
@echo off
set JAVA_OPTIONS=-noverify -javaagenr:c:\Jrebel.jar %JAVA_OPTIONS%
call "%~dp0\startWebLogic.com" *"
通过startWeblLogicWithJRebel.cmd启动即可在JRebel运行的状态下启动
weblogic应用,使编码过程中对Java代码的更改立即生效。
需要注意的是,公司提供的远程调试配置(DEBUG)存在不足,会将JAVA_OPTIONS参数覆盖,使系统启动过程中,较早配置的JVM参数失效,错误的配置如下:(,通常该配置存在于startWebLogic.cmd文件中)
set JAVA_OPTIONS=-Xdebug -Xnoagent -Djava.compiler=none -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7005
应将%JAVA_OPTIONS%添加在参数之前,以免原有设置被覆盖,正确的配置如下:
set JAVA_OPTIONS= %JAVA_OPTIONS% -Xdebug -Xnoagent -Djava.compiler ……
4.Licence重置
目前网络上还未发现5.0.1版本的破解版(部分声称是5.0.1的破解版,实际是5.0.0),因此,免费试用期只有14天。但运行reset_license.reg注册表文件可重置试用期限为14天。
5.调整JVM的内存参数
运行JRebel的应用系统对内存的占用会略微增加,如果启动时出现OutOfMemory,略微调大内存参数即可解决。
出现OutOfMemory后,将-XX:MaxPermSize=256m调整为-XX:MaxPermSize=304m后,即可正常运行。(该配置位于setDomainEnv.cmd文件)
6.测试
在正确配置Jrebel后,我们进行代码改动不重启服务测试