#java #processbuilder
#java #processbuilder
Вопрос:
Мой код выглядит так
final String[] cmdArray = {
"sh", "./invoke_payment_files_generator.sh",
String.valueOf(paymentBatchId)
};
final ProcessBuilder processBuilder = new ProcessBuilder(cmdArray);
processBuilder.redirectErrorStream(true);
но не удалось прочитать файл с ошибкой: нет такого файла или каталога..
Не могли бы вы указать мне возможные способы предоставления sh-файла в качестве входного параметра для ProcessBuilder.
Комментарии:
1. Установите directory with
processbuilder.directory(String)
в каталог, в котором находится ваш файл sh.
Ответ №1:
Возможно, вы захотите использовать /bin/sh
вместо just sh
.
Кроме того, как уже упоминалось @user432, вы можете явно задать рабочий ProcessBuilder
каталог s, используя его directory(String)
метод, если ваш сценарий оболочки отсутствует в рабочем каталоге приложения Java. В качестве альтернативы вы можете указать абсолютный путь к вашему сценарию оболочки, а не только ./
.