`

Jrebel 基于TOMCAT实现项目修改热部署

阅读更多
    你是否有过为修改后台代码,项目重部署而出现的漫长等待而烦恼,JRebel就是这样一套解决修改后台代码快速实现热部署的开发工具,节省了大量重启时间,提高了个人开发效率。JRebel是收费软件,用户可以在JRebel官方站点下载30天的评估版本。网上可搜索到破解版,闲话就不说了,直接进入正题。

应用环境:
     JDK: 1.6.0_26 + Tomcat6 + eclipse3.7.2 + JRebel5.0.1
系统架构
     struts2 + spring3 + ibaits2.3

配置步骤:
     1、下载JRebel工具包(本文附件),把此包放置至Tomcat lib目录下(应该可放置其他目录,大家可自已试下,后续会配置指向此路径)

     2、打开Tomcat配置页面,如下图:


     3、配置VM arguments参数,在已有参数后增加如下代码
-javaagent:E:\work\64\apache-tomcat-6.0.35\lib\jrebel.jar
-noverify

如下图:



4、修改需热部署项目原有的部署参数,如下图:




5、在需热部署的项目src目录下添加名称为rebel.xml的配置文件(可在附件中下载),内容如下:
<?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>
    		//项目源代码class路径,有些为项目名\bin
        <dir name="F:\workspace\rom\build\classes"> 
        </dir>
    </classpath>
    <web>
        <link target="/">
            <dir name="F:\workspace\rom\WebContent">
            </dir>
        </link>
    </web>
</application>


至此配置完成,启动项目,控制台打印如下信息未出现异常,即说明配置成功:
[2012-09-17 20:57:25] 
[2012-09-17 20:57:25] #############################################################
[2012-09-17 20:57:25] 
[2012-09-17 20:57:25]  JRebel 5.0.0 (201206080930)
[2012-09-17 20:57:25]  (c) Copyright ZeroTurnaround OU, Estonia, Tartu.
[2012-09-17 20:57:25] 
[2012-09-17 20:57:25]  Over the last 1 days JRebel prevented 
[2012-09-17 20:57:25]  at least 9 redeploys/restarts saving you about 0.4 hours.
[2012-09-17 20:57:25] 
[2012-09-17 20:57:25]  This product is licensed to Unlimited
[2012-09-17 20:57:25]  For FUN! Unlimited! Enjoy!
[2012-09-17 20:57:25] 
[2012-09-17 20:57:25]  The following plugins are disabled at the moment: 
[2012-09-17 20:57:25]  * Apache MyFaces plugin (set -Drebel.myfaces_plugin=true to enable)
[2012-09-17 20:57:25]  * Click plugin (set -Drebel.click_plugin=true to enable)
[2012-09-17 20:57:25]  * JRuby Plugin (set -Drebel.jruby_plugin=true to enable)
[2012-09-17 20:57:25]  * Jersey plugin (set -Drebel.jersey_plugin=true to enable)
[2012-09-17 20:57:25]  * Oracle ADF Core plugin (set -Drebel.adf_core_plugin=true to enable)
[2012-09-17 20:57:25]  * Oracle ADF Faces plugin (set -Drebel.adf_faces_plugin=true to enable)
[2012-09-17 20:57:25]  * Seam-Wicket plugin (set -Drebel.seam_wicket_plugin=true to enable)
[2012-09-17 20:57:25]  * WebObjects plugin (set -Drebel.webobjects_plugin=true to enable)
[2012-09-17 20:57:25] 
[2012-09-17 20:57:25] #############################################################
[2012-09-17 20:57:25] 
[2012-09-17 20:57:25] 
[2012-09-17 20:57:25] JRebel: A newer version '5.0.1' is available for download 
[2012-09-17 20:57:25] JRebel: from http://www.zeroturnaround.com/jrebel/upgrade/
[2012-09-17 20:57:25] 


当修改代码保存后,控制台会打印如下信息,即说明配置已生效,不需再等待重部署就可以看到修改后的效果,是不是感觉很爽,^-^
[2012-09-17 21:04:57] JRebel: Reloading class 'com.alili.rom.action.system.admin.UserAction'.


注: 经实际项目中应用,只有当修改Spring配置文件时,才需重新部署项目,而修改struts、ibatis等配置文件会自动热部署。
7
0
分享到:
评论
12 楼 ekisstherain 2012-10-19  
tomcat不能用啊
报错:

java.lang.NullPointerException
at com.sun.facelets.compiler.TagLibraryrReloader.getLastModified(TagLibraryrReloader.java:55)
at com.sun.facelets.compiler.TagLibraryrReloader.reload(TagLibraryrReloader.java:28)
at com.sun.facelets.compiler.Compiler.compile(Compiler.java)
11 楼 showlike 2012-09-29  
cy729215495 写道
不支持xml配置文件的修改。实际并无多大的用处

经实际项目中应用,只有当修改Spring配置文件时,才需重新部署项目,而修改struts、ibatis等配置文件会自动热部署。
在实际项目开发中修改spring配置的机率占的比例应该不大

10 楼 cy729215495 2012-09-19  
不支持xml配置文件的修改。实际并无多大的用处
9 楼 showlike 2012-09-19  
iwangxiaodong 写道
其实Tomcat热部署已经很完美了,何必自寻烦恼!


jrebel 的热部署和TOMCAT不一样,简单点,如果说你是修改后台代码,而后台代码是需登陆才能操作功能的,那TOMCAT热部署的话,还需重新登陆,而jrebel就不用,而且也不用等待
8 楼 iwangxiaodong 2012-09-19  
其实Tomcat热部署已经很完美了,何必自寻烦恼!
7 楼 theoffspring 2012-09-18  
yusheng5273 写道
???
需要用任何插件么??
eclipse 打开debug 模式,配置tomcat conf下的xml,自动就热启了,我一直在这么用。。。。
搞不懂楼主和开发这款插件的人,


你修改个类能热部署吗?当然如果用weblogic确实能不借助插件就热部署的。weblogic挺方便的。
6 楼 wancaibida 2012-09-18  
用了jrebel debug断点就不怎么好用了
5 楼 king520 2012-09-18  
jetty+jrebel
4 楼 shuaiji 2012-09-18  
确实好想法,开发时候可以方便测试,但是PRODUCT 上还是愿意重启。不想因为不能预知的意外带来更多的麻烦
3 楼 yusheng5273 2012-09-18  
???
需要用任何插件么??
eclipse 打开debug 模式,配置tomcat conf下的xml,自动就热启了,我一直在这么用。。。。
搞不懂楼主和开发这款插件的人,
2 楼 fuoing 2012-09-17  
如果项目有使用struts,会报错的。
1 楼 theoffspring 2012-09-17  
这玩意儿不错,不过貌似social版的现在不能用了,前天开始不好用了,只好又找了个破解。不过,还不是太彻底,spring的bean修改后,含有注解的bean不会自动重新扫描,还是得重启。只能说部分解决了问题。

相关推荐

    ecilipse+tomcat+jrebel实现热部署

    Eclipse+Tomcat+JRebel 实现热部署 Eclipse、Tomcat 和 JRebel 是三个常用的开发工具,其中 Eclipse 是一个集成开发环境(IDE),Tomcat 是一个 Web 服务器,而 JRebel 是一个热部署工具。热部署是指在不重新编译和...

    tomcat远程debug与jrebel热部署文件

    本文将深入探讨如何配置Tomcat的远程调试以及利用JRebel实现热部署,这将极大地提高开发效率。 首先,Tomcat远程调试允许开发者在不重启服务器的情况下定位并修复代码中的问题。这对于大型项目和持续迭代的环境尤其...

    jrebel + myeclipse9.0 + tomcat 热部署攻略

    本教程将详细讲解如何在MyEclipse 9.0集成环境中,结合JRebel插件和Tomcat服务器,实现Spring项目热部署的攻略。 首先,我们来了解JRebel。JRebel是一款强大的Java应用热部署工具,它能够实时地更新类、资源文件...

    eclipse修改代码后热部署(不需要重启服务

    在Eclipse中,实现热部署的一种常见方式是通过插件JRebel。JRebel是一款商业的热部署工具,它能够实时反映代码更改,避免了反复重启服务器的过程。下面是使用JRebel进行热部署的步骤: 1. **安装JRebel插件**:访问...

    jrebel for idea2017热部署

    为了解决这个问题,Zeroturnaround公司推出了JRebel,它是一款强大的热部署工具,能够实现在不重启应用的情况下,实时生效代码变更。本文将详细介绍如何在IDEA 2017中配置和使用JRebel进行热部署。 **一、JRebel...

    Tomcat热部署配置说明及工具

    本篇文章将详细介绍如何配置Tomcat实现热部署,并提及一种常用的热部署工具——JRebel。 首先,我们来理解什么是热部署。在传统的开发流程中,每当代码发生变化,都需要停止服务器,部署新的应用,然后重新启动...

    myeclipse 插件热部署 jrebel6.5

    myeclipse 插件热部署 jrebel6.5 亲测可用,资源下载到磁盘,然后打开myeclipse 路径为:Windows ---&gt; Perferences --&gt; MyEclipse --&gt;Servers --&gt;Tomcat --&gt; Tomcat 7.x --&gt;JDK 配置jvm参数: -...

    Tomcat热部署,让你轻松部署

    【标题】:Tomcat热部署,让你轻松部署 在IT行业中,服务器的部署与管理是一项重要的任务,尤其是在Java Web开发领域。Tomcat作为一款广泛使用的开源Servlet容器,其部署方式和效率直接影响到开发人员的工作效率。...

    tomcat 热部署 hot deploy Jrebel 加大JVM内存

    标题 "Tomcat 热部署 Hot Deploy Jrebel 加大JVM内存" 涉及的是在Java开发环境中,如何实现应用服务器Tomcat的热部署功能,并通过Jrebel工具提高开发效率,以及如何调整JVM内存配置以优化运行性能。 热部署(Hot ...

    tomcat_热部署_jrebel6.4.3-cracked

    在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署。类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入...

    Tomcat热加载Jrebel

    【描述】:Tomcat热加载Jrebel是通过Jrebel插件与Tomcat服务器的集成,实现Java应用的热部署。这意味着开发者在编码过程中可以实时看到代码更改的效果,无需每次都停止、重新启动服务器,极大地提高了开发迭代的速度...

    jrebel6.5 热部署

    JRebel是一款知名的热部署工具,其6.5版本在业界广受好评,尤其对Eclipse、MyEclipse以及Tomcat用户来说,它的支持使得开发流程更加流畅。 **JRebel简介** JRebel是由Zeroturnaround公司开发的一款强大插件,适用...

    Tomcat 热部署

    【描述】:Tomcat热部署 Tomcat的热部署功能使得开发人员能够在开发过程中实时看到代码更改的效果,而无需重新启动服务器。这对于快速迭代的项目尤其重要,因为它节省了频繁重启服务器的时间。然而,Tomcat默认并不...

    让独立部署的tomcat也支持热部署(不依赖Eclipse或MyEclipse)

    通常,Tomcat等应用服务器在独立部署模式下并不支持热部署,但JRebel通过动态加载和更新类文件,使得Tomcat可以在运行时接收代码变更。 首先,你需要下载JRebel的jar文件,例如这里提供的"jrebel.jar"。然后,将...

    JRebel IDE热部署插件

    JRebel通过动态类加载技术实现了热部署。它监控代码的修改,一旦检测到变化,就会自动将新版本的类加载到运行时环境中,而无需重启应用。这样,开发者就可以立即看到代码更改的结果,减少了等待时间,提升了开发流程...

    Tomcat 热部署方案

    **Tomcat热部署方案详解** 在开发过程中,频繁地重启服务器来测试代码的修改是非常耗时的。Tomcat热部署方案就是为了应对这个问题,允许开发者在不重启Tomcat的情况下,更新应用中的类文件,提高开发效率。本文将...

    tomcat热部署包

    总的来说,Tomcat热部署技术是Java Web开发中的一个重要优化手段,它通过减少重复的部署和重启操作,提升了开发效率,让开发者可以更加专注于代码的质量和功能实现。同时,通过使用合适的工具和插件,可以进一步简化...

    tomcat热部署+操作文档,修改任何java后台文件也不需要重启

    本压缩包提供的“tomcat热部署+操作文档”旨在帮助用户实现这一功能。 首先,我们要理解什么是Tomcat的热部署。热部署是指在应用程序运行时,能够动态替换或更新应用的类文件或资源文件,而无需停止或重启服务器。...

    Eclipse中使用tomcat 热部署 Jrebel6.4.3 不需安装插件

    Eclipse中使用tomcat 热部署 Jrebel6.4.3 不需安装插件

Global site tag (gtag.js) - Google Analytics