ProcessBuilder не отображает окно команд

1

Я пытаюсь запустить.bat файл из моего java-кода, и я использую функциональность ProcessBuilder.java следующим образом:

    String[] hubCmd = new String[]{"cmd.exe", "/C", "startHub.bat"};
    ProcessBuilder pbHub = new ProcessBuilder(hubCmd);
    pbHub.directory(new File("C:\\java\\selenium\\"));
    Process hubP = pbHub.start();

Кажется, это работает, ногами java-процесса и связанного с ним процесса cmd, но окно команды не отображается. Я что-то упустил или это правильная функциональность?

Заранее спасибо.

  • 0
    Звучит как правильная функциональность для меня
  • 1
    почему вы хотите открыть командное окно? просто посмотреть логи? если это так, вы можете на самом деле вернуть обратно результат этого процесса
Показать ещё 3 комментария
Теги:

1 ответ

2
Лучший ответ

Java Process предназначен для выполнения команды, и это происходит с помощью cmd.exe.

То, что вы видите, правильно. cmd.exe не имеет "функции" для отображения окна.

"Окно", которое вы обычно видите, это эмуляция терминала или какая-то такая вещь, которая в свою очередь (например, ваша Java-программа!) Может выполнять другую программу, т.е. Cmd.exe

То же самое и с Linux, где xterm выполняет оболочку (командный интерпретатор). Никакая оболочка (в классическом стиле) не может отображать "окно".

Вы можете сделать свою программу Java "окном"!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню