Tomcat 七 热部署配置

Tomcat 7 热部署配置
Tomcat比较轻快,非常适用于开发阶段使用。一般我们看官方文档,会认为在server.xml中进行如下配置即可支持热部署:
<Context path="/myApp" docBase="E:\workspace\myProject\web" reloadable="true"/>


但其实这样配置后,修改java代码会自动重启Tomcat服务器的,并非真正的热部署。修改多个文件的话,需要多次保存,保存一次就重启一次,非常之烦。

为了解决这个问题,google了好多网页,终于在某位大侠的博客(时间太久忘了原文地址了)里头找到了答案,修改配置如下:

<Context path="/myApp" docBase="E:\workspace\myProject\web" reloadable="false" crossContext="true"/>


这样修改java代码,就不会自动重启Tomcat,而且能及时生效了!
不过正如liuhanjun朋友评论中指出的,在追加方法或类变量时,还是会提示重启。

我的开发环境是eclipse3.7+Tomcat7.0.23,在eclipse里头启停的服务器,Server location我选的是Use Tomcat Installation,Deploy path是webapp,Server Options下勾选了Serve modules without publishing。
1 楼 royboy 2012-03-06  
正好找个这个呢,谢谢了
2 楼 liuhanjun 2012-03-28  
tomcat7不知道,tomcat6这样不行,如果只是修改class中方法的实现,没问题,如果追加方法,追加成员变量,照样需要重启。tomcat7真的可以么?
3 楼 linhao315 2012-04-06  
liuhanjun 写道
tomcat7不知道,tomcat6这样不行,如果只是修改class中方法的实现,没问题,如果追加方法,追加成员变量,照样需要重启。tomcat7真的可以么?

tomcat7也不行,独立服务器和嵌入式都试过了,eclipse会要求重启。。。