Him*_*aaS 3 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)
Run Code Online (Sandbox Code Playgroud)
这是我的一段代码:
String command = "set Path=C:/Program Files/Java/jdk1.6.0_21/bin";
Process p = Runtime.getRuntime().exec(command);
Run Code Online (Sandbox Code Playgroud)
程序失败,因为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);
Run Code Online (Sandbox Code Playgroud)
但要注意设置环境变量的缺陷,请参阅如何使用exec在Java中设置环境变量?正如@Berger在评论中提到的那样