在Windows 2008中从ANT启动Tomcat 7.0.x

时间:2013-01-28 17:35:04

标签: tomcat ant

我在Windows 2008 R2中尝试从ANT启动Tomcat 7.0.x服务器时遇到困难。

这是我正在使用的代码:

<exec executable="cmd.exe" spawn="true">
  <env key="CATALINA_HOME" value="${tomcat.home}" />
  <arg line="/C '${tomcat.home}/bin/startup.bat'"/>
</exec>

问题是虽然我使用spawn设置为true,并且在调用cmd.exe时使用/ C参数,但是我的构建被挂起并且永远不会完成,直到我停止Tomcat。

你知道原因吗?我在stackoverflow中看到过很多帖子,其代码类似,理论上可以正常工作。其他帖子使用bash而不是cmd,但据我所知bash只在Unix世界中使用。

任何帮助?

非常感谢,

CHEMI。

2 个答案:

答案 0 :(得分:0)

对窗户不太确定,但基于此讨论(http://mail-archives.apache.org/mod_mbox/ant-user/200108.mbox/%3C2D90C2075E27D4118960000629A832E503751900@scooby.corp.bspark.com%3E),我试着尝试:

<exec dir="${tomcat.home}/bin" executable="start">
    <arg line="startup.bat" />
    <env key="CATALINA_HOME" value="${tomcat.home}" />
</exec>

答案 1 :(得分:0)

这是我用过的蚂蚁脚本的一部分......永远。它每天都在开发中使用,我们也在生产中使用它来启动和停止Tomcat(所有这些都在* NIX上,但是......我们有一些开发人员只是因为某种原因必须在Microsoft Windows上运行,这似乎不是为他们提出任何问题。)

我知道悬挂没有问题。

<exec osfamily="unix" executable="${app.tomcat-home}/bin/catalina.sh">
  <env key="JAVA_HOME" value="${app.java-home}" />
  <env key="JAVA_OPTS" value="${effective.JAVA_OPTS}" />
  <env key="CATALINA_BASE" value="${app.home.dir}" />
  <env key="CATALINA_OPTS" value="${effective.CATALINA_OPTS}" />

  <arg value="start" />
  <arg value="${security-option}" />
</exec>

<!-- Separate script for win32 -->
<exec osfamily="winnt" executable="${app.tomcat-home}/bin/catalina.bat">
  <env key="JAVA_HOME" value="${app.java-home}" />
  <env key="JAVA_OPTS" value="${effective.JAVA_OPTS}" />
  <env key="CATALINA_HOME" value="${app.tomcat-home}" />
  <env key="CATALINA_BASE" value="${app.home.dir}" />
  <env key="CATALINA_OPTS" value="${effective.CATALINA_OPTS}" />

  <arg value="start" />
  <arg value="${security-option}" />
</exec>

所有属性的定义都留给读者练习。