java - 将项目导出为可运行 jar 时无法调用外部 Bash 程序

标签 java eclipse bash

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

我已经尝试过:

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

还有

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

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

最佳答案

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

关于java - 将项目导出为可运行 jar 时无法调用外部 Bash 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45746612/

相关文章:

eclipse - 是否有相当于 emacs M-/(dabbrev-expand) 的 eclipse?

eclipse - Eclipse 中没有可用的完成

json - 使用 JQ Issue 解析复杂的 JSON 文件

java - 虚拟机中的本地主机地址

java - Android自定义对话框没有填满整个对话框布局

java - 在 Eclipse 中打开 ant 文件时出现 AntSecurityException

linux - 在标题后打印文件中的第二个字段。

linux - 为什么 awk 模式匹配不返回结果?

java - JsonMappingException : Unexpected token (START_OBJECT)

java - 如何在 if else 语句中表达一系列整数?