借助JRebel使Tomcat支持热部署

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解压目录。

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

时间: 2024-10-07 22:53:09

借助JRebel使Tomcat支持热部署的相关文章

菜鸟教程之工具使用(四)——借助JRebel使Tomcat支持热部署

JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.虽然Java也提供了HotSpot的JVM,但是如果你修改的类中有方法名称变动的话,HotSpot就无能为力了,必须要重要启动应用服务器.JRebel则可以动态监视class文件及配置文件,如果有文件更新,被调用时就会被JRebel重新加载,达到热部署的目的. JRebel不仅可以在开发阶段实现热部署来提高开发效率,在项目部署投入使用以后也支持动态的加载,从而可以帮助程序完成一些特殊的功能,让程序

java学习---maven工程的创建+tomcat的热部署

 一.创建maven工程 1.创建maven的的web功能 2.在创建完成后,可能发现功能有错误,在eclipse中的错误描述如下: The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 解决办法如下: 步骤:bulid Path --> Configure Bulid Path --> Libraries --> add Library -->

eclipse 在 Tomcat中 热部署 工程

eclipse在 Tomcat中热部署工程 1.在eclipse中国安装一个tomcat插件:SysdeoEclipse Tomcat Launcher plugin(http://www.eclipsetotale.com/tomcatPlugin.html ) 2.新建一个web工程,比如:hello 3.配置tomcat服务器.打开菜单window->preferences->tomcat 这里context declaration mode 有两种选择,是用来指定应用(Context)

Maven+Tomcat+Eclipse热部署

一:研发工具(推荐) Eclipse:eclipse-jee-kepler-SR2-win32-x86_64.zip(自带maven) Tomcat: apache-tomcat-7.0.53 Mysql: 5.0 在eclipse中引入工程(过程可能有点慢,因为需要下载工程需要的jar文件.Jar文件的下载目录为C:\Users\Administrator\.m2) 二:eclipse远程debug调试 1, 编辑tomcat\bin\catalina.bat,在 rem Guess CATA

class卸载、热替换和Tomcat的热部署的分析

一 class的热替换 ClassLoader中重要的方法 loadClassClassLoader.loadClass(...) 是ClassLoader的入口点.当一个类没有指明用什么加载器加载的时候,JVM默认采用AppClassLoader加载器加载没有加载过的class,调用的方法的入口就是loadClass(…).如果一个class被自定义的ClassLoader加载,那么JVM也会调用这个自定义的ClassLoader.loadClass(…)方法来加载class内部引用的一些别的

【转】class卸载、热替换和Tomcat的热部署的分析

这篇文章主要是分析Tomcat中关于热部署和JSP更新替换的原理,在此之前先介绍class的热替换和class的卸载的原理. 一 class的热替换ClassLoader中重要的方法 loadClass ClassLoader.loadClass(...) 是ClassLoader的入口点.当一个类没有指明用什么加载器加载的时候,JVM默认采用AppClassLoader加载器加载没有加载过的class,调用的方法的入口就是loadClass(...).如果一个class被自定义的ClassLo

tomcat实现热部署的配置

p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 0); line-height: 120%; text-align: justify } p.western { font-family: "Times New Roman", serif; font-size: 10pt } p.cjk { font-family: "宋体"; font-size: 10pt } p.ctl { font-fam

eclipse tomcat maven热部署

1.  tomcat插件 如果是Kepler的话,已经自带了tomcat插件,如果没有,到http://www.eclipsetotale.com/tomcatPlugin.html下载安装或在线安装,这里就不多说了. 2.创建Server 打开servers view(window-->show view-->servers),在servers view中新建一个server,如下图所示: 点击next,选择tomcat的安装路径,如图所示: 点击Next,出现如图所示的界面: 其中左面Av

【IDEA 2016】intellij idea tomcat jsp 热部署

刚开始用IDEA,落伍的我,只是觉得IDEA好看.可以换界面.想法如此的low. 真是不太会用啊,弄好了tomcat.程序启动竟然改动一下就要重启,JSP页面也一样. IDEA可以配置热部署,打开tomcat配置页面,将红框处,选择一样即可. 如果你的配置没有这两项,看第三个图,将项目选择ex....就有了.别问为什么,我也不知道.