gpt4 book ai didi

java - 公共(public)执行 : Executing a program on the system PATH?

转载 作者:搜寻专家 更新时间:2023-10-31 19:50:46 25 4
gpt4 key购买 nike

我正在尝试执行一个程序(具体来说,从 ImageMagick 转换),其父文件夹存在于路径中。因此,当我从命令行运行 convert 时,它会运行命令。但是,以下操作失败:

String command = "convert"
CommandLine commandLine = CommandLine.parse(command);
commandLine.addArgument(...)
...
int exitValue = executor.execute(commandLine);

如果我指定转换可执行文件的完整路径 (C:\Program files\...),则此代码有效。如果我不这样做,我会抛出异常,退出值为 4

如何让 commons-exec 识别系统路径?

最佳答案

我之前遇到过这样的问题,系统设置的 PATH 不是 java 进程所看到的。作为调试它的一种方法,您可以使用以下命令打印出 java 进程将其视为路径环境变量的内容:

EnvironmentUtils.getProcEnvironment();

这会给你一张 map ,你可以看看 Java 是否可以看到路径变量。如果它不存在,那么下一步就是找出您看不到它的原因。

如果它在那里,我会尝试运行您的 excutor.execute 命令,如下所示:

int exitValue = executor.execute(commandLine, EnvironmentUtils.getProcEnvironment());

关于java - 公共(public)执行 : Executing a program on the system PATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693020/

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