Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: java processBuilder
AUTOR BEITRAG
.Herr Lehmann

RANG Skill Captain

#1 - 04.03 15:00

Ich hab ein kleine Problem beim Öffnen externer Prozesse aus einer Java-Anwendung heraus.

Ich finde leider auch keine ausreichende Dokumentation zu dem Thema. Alles rumprobieren schlägt fehl.

Ich arbeite unter linux. in der shell funtioniert folgender Aufruf der externen Anwendung einwandfrei. "./bspprogramm parameter"

Die java (1.6) Anwendung sieht wie folgt aus.

Versuch 1: ProcessBuilder pb = new ProcessBuilder("bspprogramm ", "parameter";
- programm kann nicht gefunden werden

Versuch 2: ProcessBuilder pb = new ProcessBuilder("bspprogramm", "parameter";
- programm wird ausgeführt aber der parameter wird vom externen programm
als falsch bezeichnet

Versuch 3: ProcessBuilder pb = new ProcessBuilder("bspprogramm parameter";
- programm kann nicht gefunden werden...

kann mir jemand genau beschreiben, wie der ProcessBuilder Parameter erwartet??
bis jetzt habe ich nur schwammige Beschreibungen gefunden, die mir nichts gebracht haben.

hat sich erledigt. das problem lag wo ganz anders: die externe anwendung öffnet selbst eine weitere anwendung, die sich im gleichen (aktuellen) verzeichnis befindet. wenn ich dieses verzeichnis mit pb.directory(File) setze klappts ...
▪¢нιé▪

RANG Ober0wn3r

#2 - 11.03 13:09

äh gehört das nicht eh ins Programmier-Forum ?
(2 Foren unter diesem )
prof

RANG Prophet of Clanintern

#3 - 11.03 13:21

übergibst du denn einen "komplexen" parameter?

statt diesem aufruf:
ProcessBuilder pb = new ProcessBuilder("java.exe", "-cp classes", "foo.NetteKlasse");
code


müsstest du diesen aufrufen:
ProcessBuilder pb = new ProcessBuilder("java.exe", "-cp", "classes", "foo.NetteKlasse");
code


also alles schön auseinanderbasteln
(das Beispiel ist btw geklaut)