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

时间:2014-08-26 14:14:37

标签: java sh processbuilder

我只是试图在Eclipse中的项目目录中测试运行一个shell脚本。

new ProcessBuilder("scripts/test.sh").start();

enter image description here

出现此错误:

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

1 个答案:

答案 0 :(得分:4)

这可能有两个原因:

  • 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正在使用的路径。