Folgendes Problem:
Ich möchte einen Befehl mit Parametern in meinem Java Programm aufrufen.
Ich habe keine Ahnung wie ich das unter Mac bzw. UNIX machen kann. Hier der
Befehl: "./indesignserver -iorfile "/IDS/ior.txt" -pluginpath "server/corba"
Dein Array enthält zwei Kommandos. Wenn Du dieses per exec ausführen lässt, deutet die Runtime den ersten Eintrag als Kommando und die nachfolgenden aus Argumente zu diesem Kommando.
Weiss nicht, ob das mit dem Listkommando auch funktioniert, aber vielleicht hilft ja:
Java:
Process process = terminal.exec("ls -lai hierstehtderPfad");
Hallo!
Das Snippet hat funktioniert. Aber wie kann ich das ganze jetzt noch im Terminal ausführen?
Das unten beschriebene Code - Snippet funzt leider net. Bin da rahtlos.
Code:
try
{
String [] cmd = new String [] {"/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal"};
ProcessBuilder terminal = new ProcessBuilder(cmd);
Process p = terminal.start();
p.waitFor();
DataOutputStream x = new DataOutputStream(p.getOutputStream());
x.writeChars("cd \"/Applications/Adobe InDesign CS4 Server\"\n");
x.writeChars("ls -al \n");
}
catch (IOException e1)
{
// TODO Auto-generated catch block
Logging.logEventEntry("Fehler starten der Console !!!" + e1.toString());
}
catch (InterruptedException e2)
{
// TODO Auto-generated catch block
System.out.println("Error: " + e2.toString());
Ich möchte das ganze im Terminal ausführen, da dort Ausgaben seitens des Servers getätigt werden, die ich nicht extra in meinem Programm abfangen möchte.
Würde ich das ganze über den direkten Link
<</Applications/Adobe InDesign CS4 Server/indesignserver -iorfile "/IDS/ior.txt" -pluginpath "server/corba">>
im Terminal machen, käem No such directory. Was an den Leerzeichen liegt.
Der Terminal ist die einzige Möglichkeit den InDesign Server mit PlugIn zu laden und zu starten.
Da ich das ganze aber GUI gesteuert machen möchte, und leider kein C kann,
habe ich es mit Java probieren wollen.
Wenn es aber so ohne weiteres nicht geht, dann muss ich das wohl lassen.
Dennoch vielen, vielen Dank für die schnelle Hilfe.
Aber dazu musst Du doch kein Terminalfenster öffnen, sondern nur den korrekten Aufruf per Runtime.exec() ausführen.
Wie schaut denn der Aufruf im Terminalfenster aus?
Der Aufruf im Terminalfenster wäre:
Im Ordner "/Applications/Adobe InDesign CS4 Server" die Datei
"(./)indesignserver -iorfile "ior.txt" -pluginpath "server/corba" zu starten.