1.为什么用JRebel?
我们知道tomcat
部署的时候,可以设置 Update classes and resources
,达到不用重启的效果。
这个设置可以把修改的class和资源文件一并上传上去,但是这个设置有个限定。就是如果增加了方法,或者修改了参数就必须重启才行。
而JRebel
是热部署插件。可以把最新的classse
文件load
到服务器。(属于一种拦截技术,它帮我们编译,然后传上去)
简单的说。两者的差别就是:
当你的java-web
项目在tomcat
中run/debug
的时候 ,
修改某一个java
文件时,tomcat 并不能将此文件的修改实时编译并反映到运行的项目中去。
JRebel 就可以解决在项目运行状态run/debug
状态下任意修改java
文件并动态反馈到运行的项目
或者你说,我可以设置tomcat
的service.xml
配置reloadable=true;
那我们就要说一下,这个配置的弊端了。
经过我们分析,原有的tomcat
reloadable="true"
方式,虽可加载变化过或新增的类但存在以下问题
1、内存清空,**整体web app会重新加载**,web.xml中配置的监听器会全部再执行。
2、其他没变的类也会重新加载。
3、当系统很大时,非常耗时。
2.JRebel是什么?
JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel 使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程,每年可以省去部署用的时间花费高达 5.25 个星期。
3.JRebel怎么用?
3.1.IDEA安装
IDEA 中依次点击 File --> Settings --> Plugins 搜索 JRebel 安装即可
plugins安装.png3.2.激活JRebel
-
安装plugin.
-
打开jrebel激活面板.选择Connection to online licensing service.
-
填入URL: http://139.199.89.239:1008/b8fdf475-b9f7-4146-b426-6e1bb5a17a16
-
末尾替换为任意UUID==>重要!
-
在线生成UUID:http://www.uuid.online/
查看当前 JRebel 状态,绿色图标表示激活状态
状态.pngjrebel激活之后默认是联网使用的 , 在该模式下 , jrebel会一直联网监测激活信息 . 所以要调为离线使用的
first.png3.3.上手了兄弟!
点击要热部署的项目。然后tomcat该怎么配置还是怎么配置。启动的时候,启动jrebel的按钮即可。
1.png2.png
3.png
OK,至于你能享受到的效果,参考第1点,用起来就对了。enjoy yourself~
网友评论