Java 如何从另一个路径执行脚本

Java 如何从另一个路径执行脚本,java,shellexecute,Java,Shellexecute,我想从java项目执行myscript.sh。 我想打的电话是这样的: Process p = Runtime.getRuntime().exec("./myscript.sh "+param1+" "+param2); 问题是此script.sh不在同一路径中,因此我尝试执行以下操作: Process p = Runtime.getRuntime().exec("src/main/resources/./myscript.sh "+param1+" "+param2); 但是脚本不再执行。

我想从java项目执行
myscript.sh

我想打的电话是这样的:

Process p = Runtime.getRuntime().exec("./myscript.sh "+param1+" "+param2);
问题是此script.sh不在同一路径中,因此我尝试执行以下操作:

Process p = Runtime.getRuntime().exec("src/main/resources/./myscript.sh "+param1+" "+param2);
但是脚本不再执行。我想问题出在我放置路径的方式上,因为我已经检查过了,如果脚本位于同一路径中,那么脚本就可以完美地工作

有什么想法吗

提前感谢

您可以使用。在中,您甚至可以阅读以下内容:

ProcessBuilder.start()现在是使用修改过的环境启动流程的首选方法

如文档中所示,您可以使用
pb.directory(文件f)
设置工作目录:

ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
// ...
pb.directory("myDir");
Process p = pb.start();

你能看到filenotfoundexception吗?