Я успешно использовал AutoIt для выполнения команд, но я думал, что смогу получить более стабильную реализацию через Runtime. Таким образом, я знаю, что команды всегда будут выполняться и не будут выбрасываться исключениями прерывания и другим случайным дерьмом. Есть ли что-то в Runtime, что я не знаю, что не позволит непрерывное выполнение команд? У него нет памяти для выходов предыдущих команд, т. Е. Не работает ли она в постоянной командной строке?Выполнение команд с использованием Java Runtime
Следующие команды перемещаются в папку и выполняют сценарий Maven. Как мне заставить это работать? Если бы было еще 10 команд, выполняемых в том же процессе?
sendCommand("cmd.exe cd homepath/plugins");
sendCommand("mvn archetype:generate -DarchetypeCatalog=file://homepath/.m2/repository");
private static void sendCommand(String text) throws IOException {
Runtime.getRuntime().exec(text);
}
Как насчет этого? http://stackoverflow.com/a/18867097 Похоже, я могу добавить && между командами, чтобы запустить их все в одном процессе? – santafebound
@bluemunch Это объединит их все в одну команду, но не объединит их в один идентификатор процесса. Теперь он * будет * объединять их все в один «java.util.Process». Если это то, что вы подразумеваете под одним процессом, то '&&' будет работать идеально для вас. – Brian