您的位置:首页 > 运维架构 > Tomcat

Javarebel实现真正高效的tomcat热部署

2010-07-29 10:59 246 查看

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设置。

4: 在java VM参数中增加如下代码:

-noverify -javaagent:d:/javarebel-2.0/javarebel.jar

然后点击“OK”按钮即可。

 

另外,有传统的热部署方法:

在Tomcat的server.xml配置文件中部署

1、在Tomcat下,找到conf文件下的server.xml,打开。

2、在<Host>和</host>之间加上如下代码:
1
2 <Context path="/虚拟目录名" docBase="目标目录位置" debug="0" reloadable="true" >
3 </Context>

(严格区分大小写,当path=""时,此时的虚拟目录直接为root--->http://localhost:8080/)
参数:

path:表示在浏览器中输入http://localhost:8080/虚拟目录名

docBase:表示你的程序包的物理绝对路径,默认的绝对路径是 %tomcat_home%/webapps

reloadable :为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序;为false则不自动加载。

 

还有个办法:二

 context.xml是有用的,但是必须放在META-INF目录下。

?xml version="1.0" encoding="UTF-8"?>
<Context path="/AutoLo" docBase="F:/javanew/Workspaces/MyEclipse 7.1/AutoLo/WebRoot" reloadable="true">
   
</Context>

其中,path,是你输入http://localhost:8080/AutoLo
当中的最后那部分。
docBase是你WebRoot的绝对路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息