должностное лицо свободного городского населения: Выполнение программы на системном ПУТИ?

Я пытаюсь выполнить программу (преобразуйте из ImageMagick, чтобы быть конкретными), чья родительская папка существует на пути. Следовательно, когда я работаю convert из командной строки это выполняет команду. Следующее, однако, сбои:

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

Если я указываю полный путь исполняемого файла преобразования (C:\Program files\...) затем этот код работы. Если я не делаю этого, я бросил исключение со значением выхода 4.

Как я заставляю должностное лицо свободного городского населения распознавать системный путь?

5
задан skaffman 14 January 2011 в 21:02
поделиться

1 ответ

Раньше я сталкивался с подобными проблемами, когда системный набор PATH не соответствует тому, что видит процесс Java. Чтобы отладить это, вы можете распечатать то, что java-процесс видит как переменную path env, используя:

EnvironmentUtils.getProcEnvironment();

Что даст вам карту, и вы можете посмотреть, видит ли Java переменную path. Если его нет, следующим шагом будет выяснить, почему вы его не видите.

Если он там есть, я бы попробовал запустить вашу команду excutor.execute следующим образом:

int exitValue = executor.execute(commandLine, EnvironmentUtils.getProcEnvironment());
7
ответ дан 14 December 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: