我在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/
答案 0 :(得分:0)
最后,我能够通过Sakra在this帖子中提到的以下步骤来解决这个问题:
export ENV_VAR1=/usr/local/bin/ logger "`dirname \"$0\"`/eclipse" exec "`dirname \"$0\"`/eclipse" $@
chmod + x /Applications/Eclipse.app/Contents/MacOS/eclipse.sh
打开Eclipse.app Info.plist并将密钥CFBundleExecutable的值从eclipse更改为eclipse.sh。
强制将LaunchService更新为
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app