2011-11-15 36 views
0

我试图运行下面的ffmpeg命令使用java exec调用。它在32位计算机中运行良好,但在64位计算机中不起作用。有人可以帮我解决这个问题。Java执行不能在64位Windows

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

+0

你能得到'exec'调用的输出? – birryree

+2

您使用的是64位JVM吗?如果它作为管理员而不是普通用户,那么当然这可能是一个特权问题。你如何运行Tomcat? – madth3

+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(); 
} 

我希望可以帮助你“调试”的问题