自動reload 通常reload 一個web application有兩種方法,1是通過設置reloadable達到自動reload,2是利用本身自帶的manager來 手動reload。后者更直接快速,不過麻煩,利用ant可以很方便的實現手動reload.方法如下: (1). 去tomcat網站下載catalina-ant.jar放到你的$ANT_HOME/lib下。 (2). 在build.xml里定義task,如下:
<taskdef name="reload"classname="org.apache.catalina.ant.ReloadTask"/> (3).在build.xml定義屬性: <property name="tomcat.manager.username" value="admin"/> <property name="tomcat.manager.password" value="111111"/> <property name="manager.url"value="http://localhost:8080/manager"/>
前兩項指你安裝tomcat時的管理員用戶名和密碼,后者指tomcat的manager webapplication url. (4).增加一個target <target name="reload" description="Reload web application" depends="init, deploy">
<echo message="==================================="/> <echo message="Reload Web Application"/> <echo message="==================================="/> <reloadurl="${manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/xxx"/> </target>
好了,執行命令ant reload就可以讓tomcat重新加載你的web application。catalina-ant還有其他多種用途, 你可以參考tomcat manual. 你可以把 reload target 加到你的 deploy target的 depends里,這樣每次deploy 的時候就自動完成reload,省得等tomcat去自動加載,而且許多文件的改變tomcat并不自動reload,往往需要你 restart tomcat,多麻煩。
Tomcat官方網站竟然都無法連接到http://ant.apache.org/bindownload.cgi!還好用Flashget的站點搜索器找到了他的頁面地址!奉獻給大家!
|