4

부모 폴더가 경로에있는 프로그램 (ImageMagick에서 변환)을 실행하려고합니다. Ergo, 명령 행에서 convert을 실행하면 명령이 실행됩니다. 다음은, 그러나, 실패commons-exec : 시스템 PATH에서 프로그램을 실행 하시겠습니까?

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

나는 변환 실행 (C:\Program files\...) 다음이 코드는 작동의 전체 경로를 지정합니다. 이 작업을 수행하지 않으면 출구 값 4이있는 예외가 발생합니다.

어떻게하면 commons-exec가 시스템 경로를 인식합니까?

답변

7

시스템 설정 PATH가 자바 프로세스가 보는 것과 다른 문제가 발생하기 전에이 문제가 발생했습니다. 당신에게지도를 줄 것이다

EnvironmentUtils.getProcEnvironment(); 

을 당신은 자바 경로 변수를 볼 수 있는지 찾아보실 수 있습니다 :이 디버깅하는 방법으로는 사용하여 자바 프로세스가 경로 ENV 변수로보고 무엇을 인쇄 할 수 있습니다. 그것이 없다면 다음 단계는 당신이 그것을 볼 수없는 이유를 알아내는 것입니다.

이 있으면 나는 다음과 같이 excutor.execute 명령을 실행하려고 할 것이다 :

int exitValue = executor.execute(commandLine, EnvironmentUtils.getProcEnvironment());