自动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的站点搜索器找到了他的页面地址!奉献给大家!
|