javarebel热部署 (转)
Java web开发部署效率浅析
在进行java web程序开发过程中,经常遇到这种问题,修改一个java文件(*.java),需要重启web服务器(如tomcat,weblogic等),部署项目。而起/停服务器浪费了大量的时间。在小项目中,也许我们感觉不到。但对于公司的大型项目:如数据中心,生产等系统开发而言,往往起/停需要等待几分钟时间。更浪费时间的是,对于一个类中的方法的调试过程,如果修改多次,需要反复的启停服务器,那么浪费的时间更多。从上可以看出,我们急需一个可快速起/停服务器的工具,来提高我们的开发效率。
1 Javarebel简介
JavaRebel是一个JVM插件(-javaagent),能够即时重载java class更改,因此不需要重新部署一个应用或者重启容器,节约开发者时间。它是一个Java EE和Java 独立应用的常用解决方案。
JavaRebel可以和MyEclipse,tomcat等快速的组装在一起,用语动态部署java文件而不用重启服务器,从而可解决大量的开发时间,提高开发效率。
2 JavaRebel使用介绍
下面以javarebel + MyEclipse,javarebel+tomcat为例,介绍javarebel的在项目开发,部署环境的搭建即使用。
- Javarebel和MyEclipse开发部署应用
1:下载javarebel插件:http://www.zeroturnaround.com/javarebel/download/目前版本为2.0.将下载后文件解压在任意目录(windows),如:D:\javarebel-2.0.
2:安装myeclipse(安装步骤略),个人使用版本myeclispe5.5.
3:在myeclipse中添加javarebel:打开MyeEclispe->Window->Prefrence窗口,找到设置tomcat位置下JDK设置。如图:

在java VM参数中增加如下代码:
-noverify-javaagent:d:\javarebel-2.0\javarebel.jar
然后点击“OK”按钮即可。
下面看看javarebel在开发过程中的应用(假设myeclipse中设置的tomcat部署文件{tomcat}\conf\Catalina\localhost\<文件名>.xml 中链接的项目已在myeclipse中导入):
启动tomcat完毕后,修改java类文件。然后直接运行程序(不用重启服务器)。在myeclipe控制台会打印下图红色笔记部分信息,此为javarebel自动打印,告诉你被修改的类部署的部署情况。

红色画笔下的打印信息是我修改java类的测试信息。通过上图可以发现javarebel已成功将我修改的类进行了部署。
- Javarebel和Tomcat开发部署应用
1:下载javarebel(略)。
2:安装tomcat略。个人使用tomcat5.0.19
3:在tomcat中进行javarebel配置:打开{tomcat}\bin\ catalina.bat,找到set JAVA_OPTS处,在“=”右边添加如下代码:
-noverify -javaagent:d:\javarebel-2.0\javarebel.jar
个人设置后结果如下:
set JAVA_OPTS=-noverify -javaagent:d:\javarebel-2.0\javarebel.jar-Xms1024m -Xmx1024m
4:启动tomcat,待启动完毕后,修改tomcat部署描述文件(xml)所链接项目中java文件(将此项目导入eclipse中进行修改),修改完毕后,直接运行程序。则会在tomcat控制台看到如下信息:

javarebel热部署 (转)的更多相关文章
- 如何在Eclipse和Tomcat的Debug过程中启用热部署
参考的地址是 http://blog.redfin.com/devblog/2009/09/how_to_set_up_hot_code_replacement_with_tomcat_and_ecl ...
- webpack-dev-server轻量级js高速打包、热部署服务器
webpack是一个打包web项目的工具 ,可以实现css,js,less,cass,html的混淆加密,minify,结合webpack-dev-server热部署,非常方便前端页面和Nodejs的 ...
- 【IDEA 2016】intellij idea tomcat jsp 热部署
刚开始用IDEA,落伍的我,只是觉得IDEA好看.可以换界面.想法如此的low. 真是不太会用啊,弄好了tomcat.程序启动竟然改动一下就要重启,JSP页面也一样. IDEA可以配置热部署,打开to ...
- tomcat热部署
tomcat默认支持热部署,修改文件会自动加载部署,不需要重启容器 server.xml配置如下所示 autoDeploy=”true” — 自动部署 reloadable=”true” — 自动加载
- Idea 实时编译 和 热部署
实时编译 idea自动保存编写好的文件,但是不会编译,想要编译需要按ctrl+F9(编译整个项目)ctrl+shift+f9(单个文件),不仅麻烦而且和平常习惯也不相复合.怎么令idea的ctrl+s ...
- IntelliJ IDEA - 热部署插件JRebel 安装使用教程
IntelliJ IDEA - JRebel 安装使用教程 JRebel 能做什么? JRebel 是一款热部署插件.当你的 Java-web 项目在 tomcat 中 run/debug 的时候 , ...
- IDEA+Tomcat+JRebel热部署1
所需资源下载: jrebel_6.4.2a 概述 JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.之前只是听说过,一直没有实践,今天实际使用了一把 ...
- IDEA+Tomcat+JRebel热部署
在完成idea工程简单应用后,接下来实现热部署. 简单应用地址:http://wibiline.iteye.com/admin/blogs/2072454 一.安装JRebel插件 1. 在线安装 F ...
- spring boot 调试 - 热部署
maven gradle Maven: 命令行方式: mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport= ...
随机推荐
- 初识 Android
创建博客有一年的时间了,一直没把它用起来,颇感惭愧.近日突感有写博客的冲动,更可怕的是这种冲动似乎比我体内的洪荒之力更为凶猛.于是乎,这篇博客悄然诞生.废话不多说,进入正题--初识Android. 这 ...
- iOS开发笔记4:HTTP网络通信及网络编程
这一篇主要总结iOS开发中进行HTTP通信及数据上传下载用到的方法.网络编程中常用的有第三方类库AFNetworking或者iOS7开始新推出的NSURLSession,还有NSURLSession的 ...
- Apple Pay(转)
Apple Pay 是在 iOS 8 中第一次被介绍,它可以为你的应用中的实体商品和服务,提供简单.安全.私密的支付方式.它使得用户支付起来非常简便,只需按一下指纹就可以授权进行交易. Apple P ...
- 《慕客网:IOS-动画入门》学习笔记
新建Cocoa Touch Class,语言是swift 然后继续为界面添加一个普通的View Controller,并且添加前面视图的静态table的转向剪头指向这个View Controller, ...
- python yield
http://www.jb51.net/article/15717.htm 这里还不错 只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: def addlist(alist) ...
- sgu 104 Little shop of flowers 解题报告及测试数据
104. Little shop of flowers time limit per test: 0.25 sec. memory limit per test: 4096 KB 问题: 你想要将你的 ...
- 为什么Erlang比C慢那么多倍?
Erlang 一直以慢“著称”,本文就来看看 Erlang 慢在什么地方,为什么比实现同样功能的 C 语言程序慢那么多倍.Erlang 作为一种虚拟机解释的语言,慢是当然的.不过本文从细节上分析为什么 ...
- 【php】使用phpdbg来调试php程序
PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境 可以在PHP5.4和之上版本中使用.在PHP5.6和之上版本将内部集成 功能 单步调试 灵活的下断点 ...
- C#操作XML小结(转)
一.简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); ...
- Linux Shell 03 条件测试
条件测试 方式一:在Bash中 test命令和[]是等价的. test命令: if test $n1 -eq $n2 then echo "The two number are equal& ...