我有一个需要外部bash脚本才能工作的java项目。它在Eclipse中运行得很好,但是一旦我将它导出为可运行的jar,我就会收到以下错误:无法运行程序“src / script.sh”:error = 2,没有这样的文件或目录
我试过了:
Runtime.getRuntime().exec("script.sh");
以及
new ProcessBuilder("src/script.sh").start();
Bash脚本不接受输入,也不返回任何输出
答案 0 :(得分:1)
您的脚本隐藏在jar文件中,并不作为独立文件存在,这就是Java无法“执行”它的原因。您需要在运行时使用资源API读取它,然后将其保存到某个(临时?)目录,设置其可执行权限,然后使用ProcessBuilder或其他类似的方式运行它。