IllegalArgumentException : Ausführbare Datei eingebettet hat zitieren, teilen die Argumente
Ich erhalte eine Fehlermeldung :
IllegalArgumentException : Executable name has embedded quote,
split the arguments
Während der Ausführung der
Runtime.getRuntime().exec(cmd, envTokens, file1);
Ich bin mit Windows7 und Java7 Maschine .
Gleichen Codezeile ist in Ordnung, für andere Umgebungen .
Mir empfehlen einige Weg .
- Zeigen Sie, wie Ihre Parameter
cmd
,envTokens
,file1
Aussehen. Sie enthalten Zitate? - meine Parameter nicht enthält Zitate ... aber Sie enthält Räume zwischen Ihnen, und ich habe früher angegeben, dass die gleichen code-Zeile in Ordnung, die in anderen Umgebungen
- Sie könnten in der Lage sein, dies zu überwinden, indem Sie schützen, Räume im inneren von zusätzlichen Anführungszeichen oder backslashes, aber ich denke, diese Antwort unten erscheint, um Ihr Problem, vor allem, wenn Sie mit neuesten JDK
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies geschieht aufgrund einer änderung in Java 7 update 21/Java 6 update 45.
Die Lösung für dein problem ist das umgestalten von code verwenden java.lang.ProcessBuilder statt. Zum Beispiel: