Массив был ответом. Я также использовал ArrayList из-за сложности команд. В любом случае ... Определен массив, добавлены команды, преобразован в массив, отображен массив, отправлены команды ... Все работало хорошо. Каждый параметр должен быть в своей собственной строке в массиве.

аю интерфейс для приложения командной строки. Он очень длинный. Командная строка похожа на это:

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» выполняется из командной строки. Я пробовал несколько комбинаций, разделяющих параметры в массив, который тоже не выполняется. Я думаю, что это как-то связано с тем, что у «режима» нет - перед ним, и у него не может быть - перед ним.

Что я делаю неправильно?

редактирование: я забыл упомянуть, что все, что я вижу, это: отладчик остановился на некомпилируемом исходном коде. Я использую NetBeans, и он, кажется, не распечатывает трассировку стека. Останавливается на run.exec (cmd). Что-то не так с Java?

Я был в состоянии использовать ProcessBuilder для того, чтобы запустить его без просто сбоя ...

Он хорошо разбирает "команду", но когда я добавляю "командный режим"

 java.io.IOException: Cannot run program "command mode": java.io.IOException: error=2, No such file or directory

Так что я не могу разобрать, что я думаю.

Ответы на вопрос(3)

Ваш ответ на вопрос