Java Exec не работает в 64-битной Windows - PullRequest
0 голосов
/ 15 ноября 2011

Я пытаюсь запустить следующую команду ffmpeg, используя вызов exec java. Он хорошо работает на 32-битном компьютере, но на 64-битном компьютере он не работает. Может кто-нибудь, пожалуйста, помогите мне решить эту проблему.

Когда я пытаюсь использовать ту же команду в командной строке, что и администратор, она работает. Здесь цель состоит в том, чтобы создать видеофайл в коте. Но когда я пытаюсь как обычный пользователь в командной строке, он не работает. Может ли это быть проблемой с привилегиями tomcat?

1 Ответ

0 голосов
/ 15 ноября 2011

Если он работает как администратор, но не как обычный пользователь, то, скорее всего, это проблема с привилегиями.

Я настоятельно рекомендую добавить некоторые журналы вокруг выполнения.

например

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

Надеюсь, это поможет вам "отладить" проблему

...