我正在尝试从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);
答案 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?