java.io.IOException:无法运行程序"设置":CreateProcess error = 2,系统找不到指定的文件

时间:2016-04-06 09:58:54

标签: java command-line operating-system

我正在尝试从eclipse运行set命令,但我得到以下异常。

java.io.IOException: Cannot run program "set": CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at java.lang.Runtime.exec(Runtime.java:620)
    at java.lang.Runtime.exec(Runtime.java:450)
    at java.lang.Runtime.exec(Runtime.java:347)

这是我的代码:

String command = "set Path=C:/Program Files/Java/jdk1.6.0_21/bin";
Process p = Runtime.getRuntime().exec(command);

1 个答案:

答案 0 :(得分:9)

程序失败,因为set不是可执行文件,而是命令处理器cmd.exe内的命令。

要调用它,请使用

String command = "cmd.exe /c set path=C:/Program Files/Java/jdk1.6.0_21/bin";
Process p = Runtime.getRuntime().exec(command);

但要注意设置环境变量的缺陷,请参阅@Berger评论中提到的How to set an environment variable in Java using exec?