Java Processbuilder - исполняемый файл, который не находится в пути на OS X - PullRequest
0 голосов
/ 21 мая 2010

Хорошо, я пытаюсь сделать ChucK доступным в экспортированных эскизах обработки, т.е. если я экспортирую приложение из обработки, двоичный файл ChucK VM будет выполняться изнутри приложения. Поэтому, как пользователю указанного приложения, вам не нужно беспокоиться о том, что ChucK будет на вашем пути.

Сейчас я генерирую и выполняю файл сценария bash, но таким образом я не получаю вывод консоли из ChucK обратно в Обработка:

#!/bin/bash
cd "[to where the Chuck executable is located]"
./chuck --kill
killall chuck # just to make sure
./chuck chuckScript1.ck cuckScriptn.ck

затем

Process p = Runtime.getRuntime().exec("chmod 777 "+scriptPath);
p = Runtime.getRuntime().exec(scriptPath);

Это работает, но я хочу вместо этого запустить ChucK непосредственно из Processing, но не могу заставить его выполнить:

String chuckPath = "[folder in which the chuck executable is located]"
ProcessBuilder builder = new ProcessBuilder
                              (chuckPath+"/chuck", "test.ck");

        final Process process = builder.start();
        InputStream is = process.getInputStream();
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);
        String line;
        while((line = br.readLine()) != null) println(line);
        println("done chuckin'! exitValue: " + process.exitValue());

Извините, если это стиль новичка: D

1 Ответ

1 голос
/ 21 мая 2010
ProcessBuilder builder = new ProcessBuilder
                              (chuckPath+"/chuck", chuckPath+"/test.ck");

Аргулам нужен абсолютный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...