Массив был ответом. Я также использовал 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
Так что я не могу разобрать, что я думаю.