Я создаю интерфейс для приложения командной строки. Он очень длинный. Командная строка похожа на это:
public String liveShellCommand(){
String cmd="command mode --parameter arg --parameter2 arg2 --parameter3 arg3";
Runtime run = Runtime.getRuntime() ;
Process pr ;
try {
log.progress("sending command: " +cmd);
pr = run.exec( cmd );
pr.waitFor() ;
Кажется, все работает, пока я не добавлю в него переключатель режима. Переключатель «mode» выполняется из командной строки. Я пробовал несколько комбинаций, разделяющих параметры в массив, который тоже не выполняется. Я думаю, что это как-то связано с тем, что у «режима» нет - перед ним, и у него не может быть - перед ним.
Что я делаю не так?
edit: Я забыл упомянуть, что все, что я вижу, это: Отладчик остановился на некомпилируемом исходном коде. Я использую NetBeans, и он, кажется, не распечатывает след стека. Останавливается на run.exec (cmd). Что-то не так с Java?
Мне удалось использовать ProcessBuilder, чтобы запустить его без просто сбоя ...
Он отлично разбирает "команду", но когда я добавляю "командный режим"
java.io.IOException: Cannot run program "command mode": java.io.IOException: error=2, No such file or directory
Так что я не могу разобрать.