我试图从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();