JRebel是一个J2EE热部署的工具。使用它可以减少浪费8-18%的开发时间在项目的构建和部署上。虽然Java也提供了HotSpot的JVM,但是如果你修改的类中有方法名称变动的话,HotSpot就无能为力了,必须要重要启动应用服务器。JRebel则可以动态监视class文件及配置文件,如果有文件更新,被调用时就会被JRebel重新加载,达到热部署的目的。

JRebel不仅可以在开发阶段实现热部署来提高开发效率,在项目部署投入使用以后也支持动态的加载,从而可以帮助程序完成一些特殊的功能,让程序变得更加灵活。下面我们一起来看看它到底怎么用吧。

开发阶段:

JRebel支持Eclipse、MyEclipse、IntelliJ、NetBeans等众多IDE,我们以Eclipse为例,在Eclipse中想要使用JRebel,我们需要安装一个插件,可以在Eclipse Marketplace中搜索安装,也可以使用install new software通过URL来安装。url为:http://www.zeroturnaround.com/update-site/。具体怎么安装插件就不赘述了,不知道的自己百度一下。

安装完插件,Eclipse重启,然后按照下面的步骤配置即可:

Window——>Preferences——>JRebel

点击“JRebel Config Center”按图勾选,并添加自己下载的JRebel的jar包以及lic文件。

最后配置Tomcat的属性,按下图勾选相应属性即可。

部署后的动态加载:

配置很简单,只需要设置两个环境变量即可,

[html] view plaincopy
  1. 环境变量名:
  2. JAVA_OPTS
  3. 环境变量值:
  4. -javaagent:%REBEL_HOME%\jrebel.jar -Drebel.hibernate_plugin=true -Drebel.spring_plugin=true -Drebel.struts2_plugin=true
  5. 环境变量名:
  6. REBEL_HOME
  7. 环境变量值:
  8. D:\jrebel-5.6.3-crack(这个路径就是你JRebel的解压目录)

接下来运行Tomcat的startu.bat,在开头会出现以下信息:

[plain] view plaincopy
  1. 2014-10-08 21:22:08 JRebel:
  2. 2014-10-08 21:22:08 JRebel: #############################################################
  3. 2014-10-08 21:22:08 JRebel:
  4. 2014-10-08 21:22:08 JRebel:  JRebel 5.6.3 (201409050929)
  5. 2014-10-08 21:22:08 JRebel:  (c) Copyright ZeroTurnaround OU, Estonia, Tartu.
  6. 2014-10-08 21:22:08 JRebel:
  7. 2014-10-08 21:22:08 JRebel:  Over the last 2 days JRebel prevented
  8. 2014-10-08 21:22:08 JRebel:  at least 43 redeploys/restarts saving you about 1.7 hours.
  9. 2014-10-08 21:22:08 JRebel:
  10. 2014-10-08 21:22:08 JRebel:  This product is licensed to anonymous-user
  11. 2014-10-08 21:22:08 JRebel:  for unlimited number of developer seats on site.
  12. 2014-10-08 21:22:08 JRebel:  ####### Cracked by anonymous-user, For FUN! Unlimited! Enjoy! ######
  13. 2014-10-08 21:22:08 JRebel:
  14. 2014-10-08 21:22:08 JRebel:
  15. 2014-10-08 21:22:08 JRebel:
  16. 2014-10-08 21:22:08 JRebel:  The following plugins are disabled at the moment:
  17. 2014-10-08 21:22:08 JRebel:  * Axis2 WAS plugin (set -Drebel.axis2_was_plugin=true to enable)
  18. 2014-10-08 21:22:08 JRebel:
  19. 2014-10-08 21:22:08 JRebel: #############################################################
  20. 2014-10-08 21:22:08 JRebel:

ok这样表示已经配置成功了,如果环境变量不起作用,可以在Tomcat的startup.bat的开头加入如下代码:

[plain] view plaincopy
  1. @echo off
  2. set JAVA_OPTS=-javaagent:[path/to/]jrebel.jar %JAVA_OPTS%
  3. call "%~dp0\catalina.bat" %*

[path/to/]为你的JRebel解压目录。

好了,这样就都配置好了,快快感受一下吧!

附JRebel破解版下载地址:

jrebel-5.6.3-crack 破解版

转载于:https://www.cnblogs.com/soundcode/p/6439281.html

借助JRebel使Tomcat支持热部署相关推荐

  1. IntelliJ IDEA JRebel Maven Tomcat 实现热部署

    Step1 pom.xml 中添加如下代码: <plugin><groupId>org.zeroturnaround</groupId> <artifactI ...

  2. 服务器支持热部署吗,热部署

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用. 中文名 热部署 外文名 Hot deployment 热部署 ...

  3. ssm如何支持热部署_IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境

    之前给大家在博文中讲过如何通过eclipse快速搭建SSM开发环境,但相对而言还是有些麻烦的,今天小编给大家介绍下如何使用IntelliJ IDEA基于SpringBoot来更快速地搭建SSM开发环境 ...

  4. tomcat的热部署

    2019独角兽企业重金招聘Python工程师标准>>> java热部署与热加载,以及配置tomcat实现热部署的方式 1.热部署与热加载 在应用运行的时候升级软件,无需重新启动的方式 ...

  5. ssm如何支持热部署_最新Spring Boot实战文档推荐:项目搭建+配置+SSM整合

    在Spring Boot项目中,正常来说是不存在XML配置,这是因为Spring Boot不推荐使用XML,注意,排不支持,Spring Boot推荐开发者使用Java配置来搭建框架, Spring ...

  6. Intellij IDEA 安装和配置热部署插件JRebel进行项目的热部署

    最近在做一些前端调整,发现每次都要重启很麻烦,因为之前使用的MyEclipse就可以进行项目热部署,修改完前端页面后直接刷新就可以生效,IDEA应该也可以实现,网上搜索一番发现记录的都不是很清楚,写下 ...

  7. 【Java】实测激活JRebel实现代码的热部署

    Springboot项目开发中,常见的热部署实现方案有两种: spring-boot-devtools.JRebel. 本篇分享的是实测有用的JRebel激活方式,不展开介绍以上两种热部署方案,可以阅 ...

  8. idea+tomcat实现热部署-修改java代码及时生效

    前言: 实现效果,修改java后端代码不必重启tomcat,实现热部署. (修改保存代码,要等几秒钟就可以生效了,我这边大概5s) 此文章也是在我测试完全没问题之后,回想我的配置过程所写的文章. 一. ...

  9. java 热替换_class卸载、热替换和Tomcat的热部署的分析

    所以一个class被一个ClassLoader实例加载过的话,就不能再被这个ClassLoader实例再次加载(这里的加载指的是,调用了defileClass(...)放方法,重新加载字节码.解析.验 ...

最新文章

  1. Appium+python自动化3-启动淘宝app
  2. React学习笔记2---生命周期
  3. [LeetCode]--290. Word Pattern
  4. postfix+sasl+dovecot
  5. 主机overlay和网络overlay_Docker网络篇之overlay模式
  6. 【C语言进阶深度学习记录】三十一 数组作为函数参数时退化为指针
  7. 持久代是方法区还是堆中的?
  8. qt纯c++编程增加多线程支持库
  9. 查看目录下所有文件 dir 。
  10. Unity 2D Touch Movement
  11. linux已经不存在惊群现象
  12. Java多线程(一)多线程基础
  13. echarts 地图散点
  14. verilog全加器、全减器和乘法器及溢出判断
  15. 北大青鸟网络工程师benet培训招生问答
  16. Pr剪辑视频时,把视频变速,声音失真了怎么办,三个步骤完美搞定
  17. java版 简易斗地主(三)
  18. matlab特征值意义,特征值 - MATLAB Simulink - MathWorks 中国
  19. 赚大钱,你需要多一些杠杆思维
  20. 橙仕X2双排mini卡已经开始接受订单

热门文章

  1. React入门---事件与数据的双向绑定-9
  2. Jenkins配置Java项目1(Java+Maven+Tomcat+SVN/Git)
  3. 如何从用户体验的角度去做一个网站的页面设计
  4. svn hook同步更新svn到web服务器
  5. ORACLE 中为什么要把列名都转换成大写字母?
  6. mysql show语句_mysql常用show语句
  7. NAPI技术--原理和实现(一)
  8. restclient发送json_怎么使用restclient来发送post请求参数
  9. mysqldump 忽略视图_mysqldump的使用--解决不能导出视图的问题
  10. CSS 工程化 小结