【发布时间】:2018-11-19 00:03:43
【问题描述】:
我已经在mac中安装了ffprobe,目录是/usr/local/bin/ffprobe。当我在终端中运行 ffprobe 命令时,它可以正常工作,但是当我通过 ProcessBuilder 在 eclipse 中运行它时,它不会运行并抛出异常为 Caused by: java.io.IOException: Cannot run program "ffprobe": error=2, No such file or directory.
但是,当我运行 ProcessBuilder 并给出 ffprobe 的绝对路径时,它工作正常。
工作代码:
sample args:[/usr/local/bin/ffprobe, -v, quiet, -print_format, json, -show_format, -show_streams, some_url]
ProcessBuilder pb = new ProcessBuilder(cmdArgs);
Process proc = pb.start();
但是,如果 args 是 [ffprobe, -v, quiet, -print_format, json, -show_format, -show_streams, some_url]
它抛出错误。如何在不提供绝对路径的情况下运行 ffprobe 命令?我已经关注this post,但无法解决我的问题。
我在eclipse中的java进程运行在
Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/
【问题讨论】:
-
愚蠢的问题,但是
/usr/local/bin/在 Java 进程的PATH中(不适用于您的终端,除非您从命令行运行) -
是的。我也可以在 Eclipse 终端中运行 ffprobe 命令。当我在java代码中打印ffprobe的路径时,它清楚地显示/usr/local/bin/ffprobe
标签: java eclipse processbuilder ffprobe