Tomcat热启动
===== 2017.7.1 =====
如果是对原来的类方法修改,那么热启动非常好用;如果是添加了新的类或方法(非最上层的controller),那么此方法也是好用的;但是如果是在controller上添加了新的接口,就不好用了,必须重启Tomcat;
==================
项目在开发阶段经常会修改后台Java代码,但是每次make project后都需要重启Tomcat才能是代码生效。
解决办法是修改Tomcat的conf目录下server.xml的配置文件,使reloadable=true,这样每次修改n个java文件,make的时候把这些class文件到Tomcat监听目录下,会自动提示有n个class reloaded。
以下是server.xml的修改:
<Context path="C:\Users\jonney\Desktop\wms\out\artifacts\wms_Web_exploded" debug="1" reloadable="true"/>
完全host节点:
1 <Host name="localhost" appBase="webapps" 2 unpackWARs="true" autoDeploy="true"> 3 4 <Context path="C:\Users\jonney\Desktop\wms\out\artifacts\wms_Web_exploded" debug="1" reloadable="true"/> 5 6 <!-- SingleSignOn valve, share authentication between web applications 7 Documentation at: /docs/config/valve.html --> 8 <!-- 9 <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> 10 --> 11 12 <!-- Access log processes all example. 13 Documentation at: /docs/config/valve.html 14 Note: The pattern used is equivalent to using pattern="common" --> 15 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 16 prefix="localhost_access_log." suffix=".txt" 17 pattern="%h %l %u %t "%r" %s %b" /> 18 19 </Host>
经测试有效,使用的Tomcat7.0,但是对于新添加的class不起作用,只有对已经存在的Java类修改了,会立马reload。
posted on 2017-04-10 14:01 jonney_wang 阅读(3180) 评论(0) 编辑 收藏 举报