Считайте как stdout , так и stderr потоков Process
, возвращенных Runtime#exec()
.
Process process = Runtime.getRuntime().exec(command);
InputStream stdout = process.getInputStream();
InputStream stderr = process.getErrorStream();
Это будетвернуть то, что вы обычно видите при вводе команды plain в командной строке, включая ошибки.Ваш ответ может быть там.Короче говоря: Когда Runtime.exec () не , это отличная статья, подробно объясняющая ее подводные камни.Прочитайте все 4 страницы.Он содержит полезные фрагменты кода.
My думаю, состоит в том, что либо java
не распознается как команда (например, отсутствует в %PATH%
), либо это проблема с правами пользователя.По крайней мере, это наиболее распространенные причины в подобных случаях.