JRebel安装
-
一些公司有网络限制,需要设置代理,否则会出现网络连接错误,eclipse、myeclipse、intellij方法类似,此处以eclipse为例,设置代理的方法如下:
WindowsàPreferenceàGeneralàNetwork Connections
Active Provider选择 Manual,代理参数根据实际情况自己设置,此处是用的是*,host为127.0.0.1,端口为8087,不需要认证
-
在Eclipse Marketplace中安装JRebel
HelpàEclipse Marketplace…
搜索JRebel,点击Install安装
-
获取JRebel激活码
A 购买激活码,JRebel是收费的,可以在线上购买,购买链接为:http://zeroturnaround.com/software/jrebel/buy/
B 也可以申请试用(14天),试用申请链接为:http://zeroturnaround.com/software/jrebel/trial/cn/,申请后激活码会发到你的邮箱中
C 如果你是个人用户,可以注册myJRebel账号,注册链接为:https://my.jrebel.com/,
注册需要绑定你的Facebook或是Twitter账号,以分享你的JRebel的使用情况,推荐绑定Twitter,本人注册的时候开始使用Facebook账号,结果一直提示实名认证信息,后更换Twitter账号后,顺利完成绑定。顺利注册完成后,可以在Install and Activate中找到激活码
-
激活JRebel
打开Eclipse,在JRebel Config Center(HelpàJRebel Config Center)中选择Activation标签,复制激活码,粘贴进文本框即可
相关配置
-
一个典型的ATG项目目录结构如下:
-
添加rebel.xml配置文件
[2] 准备
A 在java源文件根目录以及webapp(.war)的WEB_INF/classes目录添加rebel配置文件
Java源文件根目录
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">
<classpath>
<dir name="D:/ATG/ATG10.0.3/Demo/lib/classes"/>
</classpath>
</application>
War包中配置文件
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">
<war dir="D:/ATG/ATG10.0.3/Demo/j2ee-apps/demofront/firstapp.war" />
</application>
-
Web容器添加JRebel支持
此处以Windows下的WebLogic,JBoss为例,其他参见如下链接:http://manuals.zeroturnaround.com/jrebel/standalone/launch-from-command-line.html
其中jrebel.jar的路径大致如下:
Eclipse\plugins\org.zeroturnaround.eclipse.embedder_5.5.0.SR1-201312232222\jrebel\
WebLogic:
在%DOMAIN_HOME%\bin下添加startManagedWeblogic-jrebel.cmd,内容如下:
@echo off
set JAVA_OPTIONS=-javaagent:[path/to/]jrebel.jar %JAVA_OPTIONS%
call "%~dp0\startManagedWebLogic.cmd" %*
JBoss:
在%JBOSS_HOME%\bin下添加run-jrebel.cmd,内容如下:
@echooff
setJAVA_OPTS=-javaagent:[path/to/]jrebel.jar %JAVA_OPTS%
call"%~dp0\run.bat" %*
-
使用
A修改pipeline、fulfillment、repository、dms(xml、property)或是只修改property文件需要在对应的component配置文件中添加
$reloadable=true
每次修改后需要在dyn/admin对应component下执行reload方法后生效
B凡是涉及到修改java文件的component或者修改jsp、css、js、ftl,不需要做额外操作修改后就能生效
-
注意
Jar、web.xml、MANIFEST.MF、application.xml之类文件的修改仍需重启服务
并不能保证所有列出的情形都支持,如果遇到不支持的情况请告诉我(geekcui@gmail.com),谢谢!