首页 > 解决方案 > 尝试在 Java 中执行 cmd 时出现 org.apache.commons.exec.ExecuteException 异常

问题描述

这是我得到的错误。

Exception in thread "main" org.apache.commons.exec.ExecuteException: Process exited with an error: -1073741515 (Exit value: -1073741515)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153)
    at Main.main(Main.java:72)

这是代码:

String line = "cmd.exe /C darknet.exe detect cfg/yolov3.cfg yolov3.weights -ext_output data/dog.jpg > results.txt";
CommandLine cmdLine = CommandLine.parse(line);
DefaultExecutor executor = new DefaultExecutor();
executor.setWorkingDirectory(new File("F:/yolov3/darknet"));
int exitValue = executor.execute(cmdLine);
System.out.println(exitValue);

如果我尝试这个的替代方案(ProcessBuilder 或 Runtime.getRuntime().exec() on String[] of cmds)我会得到相同的错误输出(不一定是错误,而是进程退出代码)。

我从 cmd 运行的命令是

F:\yolov3\darknet>darknet.exe detect cfg/yolov3.cfg yolov3.weights -ext_output data/dog.jpg > results.txt

这给出了正确/预期的输出。

我一直在寻找几个小时的答案,所以任何帮助表示赞赏。

标签: javacmdyolodarknet

解决方案


推荐阅读