在shell脚本中调用连续的java任务

时间:2010-06-16 19:09:39

标签: java command-line ant task

这可能是一个基本问题,但答案并不容易获得。

我想创建一个连续调用3个任务的shell脚本,但要等到上一个任务完成。

像这样:

一个。通过ant调用第一个Java程序 湾调用第三方Java应用程序 C。通过ant调用第三个Java程序

我想知道是否有办法检查并确保一个。在b之前完成。被称为b并且相同。和c。

感谢

3 个答案:

答案 0 :(得分:1)

默认情况下,ant任务发生在前台,因此在每个ant任务完成之前,脚本不会继续。如果你想要相反的行为,你只需要弄乱一切:所有三个任务同时发生

答案 1 :(得分:0)

java some.package

if [ $? -ne 0 ]; then exit -1; fi;

java some.other.package

默认情况下,脚本内的调用是连续的。 如果第一个java执行'some.package'没有返回0,正常退出代码,脚本将以-1退出而不执行'some.other.package'

答案 2 :(得分:0)

假设你正在使用* nix shell,想到一个简单的解决方案就是用&& amp;顺序执行所有三个命令。操作者:


#!/bin/sh
ant task -f build.xml && java org.mycompany.app && ant anothertask -f buld2.xml

&&运算符使

[...]依次执行每个命令,前提是前一个命令的返回值为true(零)。在第一次返回false(非零)返回时,命令链终止(返回false的第一个命令是执行1的最后一个命令)。