jrebel 热部署工具

来源:互联网 发布:怎样装饰淘宝店铺2016 编辑:程序博客网 时间:2024/05/01 09:01

本文作者:李红序,转载时请指明出处。

背景:

大家都知道java代码改变后,要编译成class重新部署到服务器上,并且重新启动才能生效,这主要是jvm的classloader的加载机制决定的,今天给大家分享一个热部署工具(支持远程热部署),jrebel,官方文档是 http://zeroturnaround.com/  由于jrebel是收费的,我这里有jrebel 5.2.2的破解版本。下载jrebel.5.2.2破解版


特点

对多种IDE的支持

·  1.1 Eclipse

·  1.2 MyEclipse

·  1.3 Rational Application Developer

·  1.4 IntelliJ IDEA

·  1.5 NetBeans IDE

·  1.6 Oracle JDeveloper

下面是jrebel 的特征图,除了改变父类以及接口,其他的基本都可以实时生效(我验证过)

下面为大家分享一下两种热部署的方法,本地热部署,和远程热部署。


本地热部署

1)以eclipse为例,首先安装插件,具体安装方式见官方说明

http://zeroturnaround.com/software/jrebel/download/installing-jrebel-plugin-for-eclipse/

2)由于jrebel是收费的,故需要破解版,安装完成后要替换eclipse plugins 中 jrebel 文件夹下面的   jrebel.jar 和 jirebel.lc (密钥文件)

替换图例见截图

 

3)重启 eclipse后,打开 help–>jrebel config center,将密钥文件上传到eclipse


4, 鼠标右键项目工程,点击 jrebel  -->Add jreble Nature,此时会在你的src/main/resources下面生成一个 rebel.xml文件

5) ok,大功告成,你重启tomcat的时候他会提示你是否启动热部署,


远程热部署

说明:远程热部署就是说部署的环境在远程服务器上面,比如一台 10.204.8.120 的linux/windows  server机器上面,我们想本地修改代码,在不重启的情况下使远程环境生效。

原理就是需要我们把本地的修改过后编译的class 同步过去,同时远程服务器支持热部署。

 

远程热部署就分为客户机---->远程服务器


1)让远程服务器支持jrebel环境

如果单独使用resin 或者tomcat,将jrebel破解的包,复制到压缩文件夹内,然后将整个目录拷贝到resin 或者tomcat目录下


2) 需要配置jvm启动参数

         -javaagent:$TOMCAT_HOME/jrebel/jrebel.jar

         -Drebel.remoting.persistent=true是否持久化 到服务器,否则重启则代码恢复原状

 

3) 在客户端生成配置文件

         远程热部署需要的配置文件是由eclipse自动生成,会在项目的src 目录下有两个配置文件,rebel.xml 和 rebel-remote.xml

远程部署自己需要手动填的是url  例如:http://10.204.8.120:8212/


然后点击 Generate Key Pair eclipse就会自动生成两个xml文件。

将eclipse中生成的两个xml文件拷贝到你远程机器下的WEB-INF/classes 下面,重启服务器即可

 

4)如果你的java web工程 是依赖于一个子模块儿(jar包),你希望改变子模块儿的代码后,远程机器也能自动生效,这就需要进一步配置,首先让你的子模块儿代码支持jrebel.然后将其打成jar包,拷贝到远程服务器的 WEB-INF/lib 下面.


0 0
原创粉丝点击