我有一个用于ant的构建xml:

<project>
  <target name="JSCover-start">
     <java jar="/root/JSCover/target/dist/JSCover-all.jar" fork="true" spawn="true">
        <arg value="-ws"/>
     </java>
     <waitfor maxwait="5" maxwaitunit="second" checkevery="250" checkeveryunit="millisecond" timeoutproperty="failed">
        <http url="http://localhost:8080/jscoverage.html"/>
    </waitfor>
    <fail if="failed"/>
  </target>
</project>

它构建得很好,但进程没有启动。
下面的命令可以很好地启动服务器:
/usr/bin/java -jar /root/JSCover/target/dist/JSCover-all.jar -ws

最佳答案

发布的代码看起来是正确的,所以问题可能是其他原因。试试这个:
启用调试/详细输出JSCover-all.jar
删除fork="true" spawn="true",因为这些选项可能会将stdout/stderr重定向到/dev/null,这意味着您不会看到JSCover-all.jar试图告诉您的任何错误。
ant运行-debug查看它试图做什么;也许这会给你一个提示。
从我的开发经验来看,我的第一个猜测是
a)端口不可用(另一台服务器正在使用它)或
b)您的服务绑定到*:8080,即当测试尝试连接到localhost时,您的计算机的公共IP地址。它们不一样。

07-24 09:27