我只是想测试在 Eclipse 中运行我的项目目录中的 shell 脚本。
new ProcessBuilder("scripts/test.sh").start();
出现此错误:
java.io.IOException: Cannot run program "scripts/test.sh": CreateProcess error=2, 系统找不到指定的文件
最佳答案
这可能有两个原因:
- Java 执行 system/exec C 例程,除了二进制文件。
test.sh
不是二进制文件。您可能应该使用 bash:bash -f scripts/test.sh
->new ProcessBuilder()("bash", "-f", new File("scripts/test.sh").getAbsoluteFile());
scripts/test.sh
文件不存在,说明当前目录不好。
您可以尝试 System.out.println(new File("scripts/test.sh").getAbsoluteFile())
打印 Java 正在使用的路径。
关于java.io.IOException : Cannot run program "": CreateProcess error=2, 系统找不到指定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25508024/