我需要启动Tomcat应用程序作为服务(应用程序)运行在windows机器与Ant构建文件。我能够用可用的批处理文件做同样的事情来启动和关闭。但是,现在我想在没有批处理文件的情况下实现这一点。
注意:现在tomcat作为应用程序服务运行
你可以这样做:
-
首先创建一个名为service的宏:
<macrodef name="service"> <attribute name="service" /> <attribute name="action" /> <sequential> <exec executable="cmd.exe"> <arg line="/c net @{action} '@{service}'" /> </exec> </sequential>
-
现在创建一个使用服务宏的任务:
<property name="servicename" value="myWindowsServiceName" /> <target name="start"> <service action="start" service="${servicename}" /> </target> <target name="stop"> <service action="stop" service="${servicename}" /> <exec dir="." executable="cmd.exe"> <arg line ="/c taskkill /f /fi 'services eq ${servicename}' " /> </exec> <sleep seconds="5" /> </target> <target name="restart" depends="stop,start" />