Wywoływanie Pythona z Javy
Buduję front-end dla wewnętrznego zestawu narzędzi mojej firmy. Połowa narzędzi jest napisana w Pythonie, a druga połowa jest napisana w kilku innych językach skryptowych. Więc buduję front-end w java używając swing. Do tej pory mogę wywoływać skrypty Pythona za pomocą następującego kodu:
public class Foo
{
public static void main(String[] args)
{
try
{
Runtime r = Runtime.getRuntime();
Process p = r.exec("python foo.py");
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
p.waitFor();
String line = "";
while (br.ready())
System.out.println(br.readLine());
}
catch (Exception e)
{
String cause = e.getMessage();
if (cause.equals("python: not found"))
System.out.println("No python interpreter found.");
}
}
}
Co działa pięknie, ale jeśli skrypt Pythona napotka jakiekolwiek błędy, nie wydrukuje ich. Jak mogę się upewnić, że drukuje także wszelkie błędy?