Java exec在64位Windows中不起作用

时间:2011-11-15 17:23:50

标签: java tomcat ffmpeg runtime.exec

我正在尝试使用java exec调用运行以下ffmpeg命令。它适用于32位计算机,但在64位计算机中却不起作用。有人可以帮我解决这个问题。

当我在命令提示符中尝试与管理员相同的命令时,它可以工作。这里的目标是在tomcat中创建一个视频文件。但是当我在命令提示中尝试作为普通用户时,它无效。这可能是tomcat权限的问题吗?

1 个答案:

答案 0 :(得分:0)

如果它作为管理员工作,但不是普通用户,则可能是特权问题。

我强烈建议在执行过程中添加一些日志记录。

例如

Runtime runtime = Runtime.getRuntime();
Process convertProcess = runtime.exec(execProperties);

/** important; read the error stream before! invoke waitFor */
BufferedReader errorReader = new BufferedReader(
    new InputStreamReader(convertProcess.getErrorStream()));
try {
    StringBuilder errorMessage = new StringBuilder();
    String line = null;
    while ((line = errorReader.readLine()) != null) {
         errorMessage.append(line);
         errorMessage.append("\n");
    }

    int returnValue = convertProcess.waitFor();
    if (returnValue != 0) {
         handleNonZeroReturnValue(returnValue)
    }
} finally {
   errorReader.close();
}

我希望这可以帮助您“调试”问题