вызов инструмента командной строки изнутри с помощью Java-приложения - PullRequest
3 голосов
/ 29 марта 2011

У меня есть инструмент командной строки, который я хочу запустить из Java-приложения.Мое приложение должно ждать, пока инструмент командной строки не вернется / не завершится.Я разверну свое приложение на Windows, Mac и Linux, и мое приложение должно иметь возможность вызывать инструмент командной строки на каждой платформе.Как я могу правильно вызвать его из моего Java-приложения?

Ответы [ 3 ]

6 голосов
/ 29 марта 2011

http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Process.html

ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
Process p = pb.start();
p.waitFor();
1 голос
/ 29 марта 2011

Используйте java.lang.Process для этого:

    final Process process = Runtime.getRuntime().exec("yourprogram", null, outputDir);
    final int exitCode = process.waitFor();
    if (exitCode != 0) {
        throw new RuntimeException("program didnt exit with 0, but with " + exitCode);
    }
0 голосов
/ 29 марта 2011

Вы можете использовать класс Runtime для запуска программы командной строки. Вы должны быть в состоянии использовать в Win / Mac / Linux, убедившись, что программа командной строки, которую вы запускаете, всегда находится в PATH.

            Runtime rt = Runtime.getRuntime();
            Process proc;               
            proc = rt.exec(cmdName);

            // Wait for the command to complete.
            exitVal = proc.waitFor();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...