Java Runtime.exec () - Argumente auf Linux

Okay also hier ist das problem:
Ich habe 3 Klassen MyClass1 und MyClass2 und ExecClass.
Ich gehe zu meinem Eingabeaufforderung, und tun Sie dies:

$java MyClass1 -exec "java MyClass2 arg1 arg2"

funktioniert perfekt.
Jetzt in ExecClass ich habe die folgende Zeile:

Runtime.getRuntime().exec("java MyClass1 -exec \"java MyClass2 arg1 arg2\"");

Problem ist, wenn Sie drucken Sie die zweite Zeichenfolge, seine genau das gleiche wie die erste, aber wenn meine ExecClass läuft es MyClass1 beschwert sich: Unrecognized argument arg1-und scheitert.
Nach etwas debugging fand ich heraus, dass im ersten Fall, wenn ich den Aufruf direkt aus dem terminal die gesamte Zeichenfolge in Anführungszeichen ist 1 argument (arg[1]), wobei im zweiten Fall werden die arg.Länge = 5 und die im Grunde teilt Sie... für einige unbekannten Grund auf mich zu.
Ich brauche nur zu wissen, dass ein workarround, dass, wenn jemand weiß, aka meine Laufzeit.exec() zu arbeiten.
PS: Auf meinem Windows-Rechner ein solches problem nicht auftreten, nur auf die linux. Es ist ein ubuntu destrution Kernel: 2.6.32-279.14.1.el6.x86_64.

InformationsquelleAutor Alex Botev | 2013-01-26
Schreibe einen Kommentar