将项目导出为runnable jar时无法调用外部Bash程序

时间:2017-08-18 00:01:46

标签: java eclipse bash

我有一个需要外部bash脚本才能工作的java项目。它在Eclipse中运行得很好,但是一旦我将它导出为可运行的jar,我就会收到以下错误:无法运行程序“src / script.sh”:error = 2,没有这样的文件或目录

我试过了:

Runtime.getRuntime().exec("script.sh");

以及

new ProcessBuilder("src/script.sh").start();

Bash脚本不接受输入,也不返回任何输出

1 个答案:

答案 0 :(得分:1)

您的脚本隐藏在jar文件中,并不作为独立文件存在,这就是Java无法“执行”它的原因。您需要在运行时使用资源API读取它,然后将其保存到某个(临时?)目录,设置其可执行权限,然后使用ProcessBuilder或其他类似的方式运行它。