Tomcat热部署的三种方式

热部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效。可是对配置文件的修改除外! java

一、直接把项目web文件夹放在webapps里。web


二、在tomcat\conf\server.xml中的<host></host>内部添加<context/>标签: 
<Context debug="0" docBase="D:\demo1\web" path="/demo1" privileged="true" reloadable="true"/>apache

 

docBase:项目路径,可使用绝对路径或相对路径,相对路径是相对于webapps 
path:访问项目的路径,如:http://127.0.0.1:8080/demo1 
reloadable:是否自动加载新增或改变的class文件. 
debug属性与这个Engine关联的Logger记录的调试信息的详细程度。数字越大,输出越详细。若是没有指定,缺省为0。 也就是程序异常时写入日志文件里的详细程度。tomcat


三、第三种方式和第二种差很少,可是不是在Server.xml文件中添加Context标签,而是在 
%tomcat_home%\conf\Catalina\localhost中添加一个XML文件,服务器

如:demo1.xml,内容以下: 
<?xml version="1.0" encoding="UTF-8"?> 
<Context docBase="D:\demo1\web" reloadable="true" /> 
,只是缺乏了path属性,若是你硬写个path="demo2"的话,是没有用的,tomcat不明确的告诉你:“我不认得”, 
这种方式服务器会使用xml文件的名字做为path属性的名字,SO访问地址为:http://localhost:8080/demo1 
 app

=========================================================================================webapp


还有一种方式:使用第三方工具

http://www.zeroturnaround.com/jrebel/

一、解压缩包

二、执行Java -jar jrebel-setup.jar

三、会弹出一个安装界面(本身看,很好懂)

四、在MyEclipse中配置,找到服务器(如tomcat)的配置页面,在tomcat的jdk配置页面的Optional Java VM arguments输入框中加以下参数:

-noverify -javaagent:D:\dev\JRebel\jrebel.jar -Drebel.dirs=D:\dev\apache-tomcat-6.0.20\webapps\nmr

第一个路径是jar包的绝对路径,第二个地址是说想让哪一个目录下的类更改后不重启服务。

若是Optional Java VM arguments输入框中有其余参数,用空格隔开。

五、发布项目,就能在控制台看到效果。

类就能够改变以后不用重启tomcat。

目前流行的服务器都支持。详细看官方网站。

下载的压缩包文件名为jrebel-setup.zip (7.8 MB) 工具

相关文章
相关标签/搜索