ProcessBuilder
ist in der Regel externe Programme verwendet, wieGibt es eine Möglichkeit, eine Methode/Funktion in ProcessBuilder auszuführen?
ProcessBuilder pb = new ProcessBuilder("command", "Arg1", "Arg2");
Jetzt möchte ich eine Funktion auszuführen mit ProcessBuilder
, wie zum Beispiel:
ProcessBuilder pb = new ProcessBuilder(Foo, param1, param2);
Sie sich vielleicht, warum direkt frage mich nur nicht Foo
aufrufen? wie
Foo(param1, param2)
Weil ich die Systemumgebung ändern möchte, wenn Sie Foo ausführen. Der einzige Weg, ich fand, ist ProcessBuilder
zu verwenden:
Map<String, String> env = pb.environment();
env.put("HADOOP_HOME", "/opt/hadoop");
Also, wenn ich frage mich, ich ProcessBuilder
verwenden können eine Methode/Funktion des aktuellen Programms aufzurufen. Wenn Sie eine bessere Idee haben, die Systemumgebung beim Ausführen von Foo zu ändern, können Sie mir gerne einige Vorschläge machen.