问题
I'm getting an error :
IllegalArgumentException : Executable name has embedded quote,
split the arguments
While running the
Runtime.getRuntime().exec(cmd, envTokens, file1);
I'm using Windows7 and Java7 machine .
Same line of code is working fine for other environments .
Suggest me some way .
回答1:
This happens because of a change in Java 7 update 21/Java 6 update 45.
The solution to your problem is to refactor your code to use java.lang.ProcessBuilder instead. For instance:
ProcessBuilder pb = new ProcessBuilder("command", "argument1", "argument2");
Map<String, String> env = pb.environment();
env.put("var1", "value1");
Process p = pb.start();
来源:https://stackoverflow.com/questions/16890457/illegalargumentexception-executable-name-has-embedded-quote-split-the-argumen