===== 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。
