2010-12-08 150 views
1

我不确定这是否合理,但我只是遵循老板的指示。通过ANT启动和停止Tomcat?

制作ANT脚本来编译WAR,运行测试,停止服务器,部署WAR并再次启动服务器。

如何正确停止并通过ANT启动Tomcat?

它是一个可行的事情,或者应该以另一种方式完成吗?

请注意,脚本应该在OS X,Linux和Windows上没有重大更改的情况下运行。

+0

是的,它是可行的;你可以看看一些IDE如何做到这一点(Netbeans生成的ant编译脚本编译/打包/部署WAR并确保停止/启动tomcat,几乎可以肯定的是Eclipse/Idea也会这样做)。尽管手写这样的脚本(我的超过1k行)是不是太感恩的任务。作为一个起点,你可以看看这里:http://www.java-tips.org/other-api-tips/ant/how-to-control-start-and-stop-of-a-tomcat-application-by -ant-build-s-2.html,但我宁愿将此任务委托给IDE。 – 2010-12-08 14:57:05

+0

一切都完成除了开始和停止。这是我现在需要做的所有事情。 (感谢上帝) – Mantar 2010-12-08 15:01:46

+0

是的,它可以使它以一种相当便携的方式(只是在独立的.porperties文件中具体设置):http://ant.apache.org/faq.html#implement-os-specific配置 – 2010-12-08 15:02:23

回答

1

我之前做过这个。有可能的。我当时做的一部分是将一个war复制到webapps文件夹中启动tomcat(异步 - 使用antRunAsync脚本)并等待,直到应用程序准备就绪,如果我记得我用这个(http://jakarta.apache.org/cactus/integration/ant/task_runservertests.html)来确保我的应用程序是准备。在完成所有设置后,我执行了我的测试,之后我再次停止了tomcat。

1

既然你不能使用经理,我能想到的唯一的办法是这样的:

<exec dir="." executable="cmd" os="Windows NT"> 
    <arg line="/c 'tomcat.bat start'"/> 
</exec> 
<exec dir="." executable="sh" os="Linux"> 
    <arg line="-c 'tomcat.sh start'"/> 
</exec> 

..its相当笨拙,但它至少是一个选项。