eclipse修改java热部署免重启tomcat在Host标签下增加Context直接将docBase指定为项目的WebContent路径

为了避免每次修改java文件eclipse都自动重启耗时较长,研究了网上方法,在eclipse+tomcat7本机实践了下可行。

原理:将eclipse工程的WebContent直接作为部署目录,你的修改相当于直接在部署目录里修改,所以不需要发布publish了就可以关闭tomcat自动部署和重启。把class的输入目录放在默认的WebContent/WEB-INF/classes下,修改java的时候eclipse自动将修改后的class进行替换。

效果:非关键类可以即时生效,如果是一些与session有关的类可能会导致错误,以及只加载一次的文件xml可能不会生效,这时手工重启tomcat即可。总的来说在大部分时候还是很方便的,减少了tomcat重启次数,节省了时间,提高了效率。

具体操作:


eclipse下修改tomcat的server.xml,在Host标签下修改Context标签的docBase,直接将docBase指定为项目的WebContent路径,有的项目是WebRoot文件夹,根据自己的项目来。

我的配置:

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"/>
	<Context docBase="E:/zxw/workspace/20130311workspace/workspace/project/WebContent" path="/project" reloadable="false">
	     <Loader className="org.apache.catalina.loader.VirtualWebappLoader" searchVirtualFirst="false" virtualClasspath="E:/zxw/workspace/20130311workspace/workspace/project/WebContent/WEB-INF/lib/*.jar"></Loader>  
	</Context> 
</Host>

docBase就是发布目录

path是你项目名称

reloadable="false" 网上说这个是关闭tomcat自动部署的(tomcat自动部署自后就会自动重启),我们把项目的目录作为部署目录就不需要进行部署了,所以设置为false。


virtualClasspath 这个是加载jar包的路径配置你的lib目录下的jar包:WebContent/WEB-INF/lib/*.jar  。这个据说tomcat6不支持,tomcat7支持。

注意:项目编译的classd的输出目录要在WebContent/WEB-INF/classes ,否则的话找不到class的,web工程的结构就是这样。不在这个目录的要修改下项目的默认输出目录:    

项目右键 -》properties -》Java Build Path -》source -》Default output folder



参考资料:

 http://simon-fish.iteye.com/blog/2102421

 http://blog.csdn.net/girl_pro/article/details/50965845 


http://blog.csdn.net/feilongjian001/article/details/8576392

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值