Вызов последовательных задач Java в сценарии оболочки - PullRequest
1 голос
/ 16 июня 2010

Это может быть элементарный вопрос, но ответ не был легко доступен.

Я хотел бы создать сценарий оболочки, который будет вызывать 3 задачи подряд, но дождаться завершения предыдущего задания.

Вот так:

а. вызов первой программы Java через муравья б. вызвать стороннее Java-приложение с. вызовите третью Java-программу через ant

Мне интересно, есть ли способ проверить и убедиться в этом. делается до б. называется и то же самое для б. и с.

спасибо

Ответы [ 3 ]

1 голос
/ 16 июня 2010

По умолчанию задачи ant выполняются на переднем плане, поэтому ваш сценарий не будет продолжаться, пока не завершится каждая задача ant. Вам нужно только связываться с вещами, если вы хотите противоположного поведения: все три задачи происходят одновременно

0 голосов
/ 17 июня 2010

При условии, что вы работаете в * nix-оболочке, простое решение, которое приходит на ум, - просто последовательно выполнить все три команды с оператором &&:


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

Оператор && заставляет

[...] выполнять каждую команду по очереди, при условии, что предыдущая команда вернула значение true (ноль). При первом возвращении false (отличном от нуля) цепочка команд завершается (первая команда, возвращающая false, выполняется последней 1 )
0 голосов
/ 16 июня 2010
java some.package

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

java some.other.package

По умолчанию вызовы внутри скрипта являются последовательными.Если первое выполнение Java 'some.package' не возвращает 0, нормальный код завершения, сценарий завершится с -1 без выполнения 'some.other.package'

...