gpt4 book ai didi

java - ProcessBuilder 找不到命令,尽管它可以在终端中找到

转载 作者:行者123 更新时间:2023-11-30 10:38:54 26 4
gpt4 key购买 nike

我有一个通过 ProcessBuilder 启动 Mopidy 的 Java 应用程序。这是我的代码:

if(mopidy==null){
try {
btnStartMopidy.setDisable(true);
btnStopMopidy.setDisable(false);
ProcessBuilder pb = new ProcessBuilder("/bin/bash", "-c", "mopidy");
pb.redirectOutput(ProcessBuilder.Redirect.INHERIT);
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
mopidy = pb.start();
} catch (IOException ex) {
ex.printStackTrace();
Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
}
}

奇怪的是,当我从 Netbeans 运行它时,输出显示找不到 Mopidy 命令,但是......

当我通过终端运行构建的 .jar 文件时,我得到了预期的 Mopidy 输出。 当我通过双击运行 .jar 文件时,我得到了同样的错误命令找不到。

有什么想法吗?

编辑:

这次我尝试直接调用程序,而不是使用 bash -c。

ProcessBuilder pb = new ProcessBuilder("/usr/local/bin/mopidy");

现在似乎可以找到 Mopidy,但我遇到了不同的错误。它说找不到某个 Python 包(GStreamer,Mopidy 需要它),尽管它已安装。

最佳答案

这是 eclipse 中的一个奇怪错误,从未得到修复。将它添加到 PATH 变量后不要重新启动 eclipse。退出 eclipse 并重新启动,它应该可以工作。

关于java - ProcessBuilder 找不到命令,尽管它可以在终端中找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39485992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com