我需要在Windows机器中使用Ant构建文件启动作为服务(应用程序)运行的Tomcat应用程序。我可以使用可用的批处理文件来启动和关闭。但是,现在我想在没有批处理文件的情况下实现这一目标。
注意:现在tomcat正在作为应用程序服务运行
答案 0 :(得分:0)
你可以这样做:
首先创建一个名为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" />