我们的应用程序的OSX版本与ProcessBuilder有一个奇怪的问题。这是在我们切换到universalJavaApplicationStub时开始的。以前我们使用过AppBundlerTask。 注意:不能做一个示例类,因为您需要构建一个完整的mac应用程序包来查看此结果:
我们启动该流程的代码是:
log.debug("render: {}", Arrays.toString(myCommandLine.toArray()));
log.debug("render: dir={}", m_workingDir);
final ProcessBuilder processBuilder = new ProcessBuilder(myCommandLine);
processBuilder.directory(new File(m_workingDir));
final Process process = processBuilder.start();
并且日志输出如下所示:
render: [/Applications/EFI/Metrix/bin/cli/rasters, --saveasimg, --pagebox=MEDIABOX, --smoothing=All]
render: dir=/Applications/EFI/Metrix/bin/cli/
这导致栅格应用程序向日志抛出错误,表明它未从其安装目录运行。 (这是第二个日志行中的目录。)
似乎工作目录不是我在processBuilder.directory()调用中指定的目录。
有人可以解释发生了什么吗?
答案 0 :(得分:0)
与应用程序供应商合作,我发现我现在需要在运行他们的应用程序之前执行“未设置的CFProcessPath”。