从Java ProcessBuilder

时间:2017-05-12 15:14:54

标签: java

我试图从Java运行脚本。我试着在我的主要课程中这样做。

    ProcessBuilder pb = new ProcessBuilder("./test_exec.sh", "hello world");
    Process p = pb.start();

我通过maven构建项目,test_exec.sh作为资源包含在内。当我取消归档jar时,我在根目录下看到test_exec.sh文件。为什么Java不能看到该文件?我还试过test_exec.sh,前面没有./

我得到的错误是:

 Cannot run program "./test_exec.sh": CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)

我也尝试过:

Path currentPath = Paths.get("", "test_exec.sh").toAbsolutePath();
ProcessBuilder pb = new ProcessBuilder(currentPath.toString(), "hello world");
Process p = pb.start();

0 个答案:

没有答案