2 개의 인자가 필요한 펄 스크립트가 있습니다. 저는 현재 우분투를 사용하고 난 펄 스크립트가 존재하는 디렉토리로 변경하여 내가 내 자바 프로그램에서 펄 스크립트를 실행하려고 할 때, 그러나우분투에서 java에서 perl 스크립트를 실행하는 방법
perl tool.pl config=../mydefault.config file=../Test
를 작성하여 터미널에서 펄 스크립트를 실행하도록 관리 (나는 이클립스를 사용하고있다.), 항상 나에게 메시지를 준다. Command Failure
. 다음 코드입니다.
Process process;
try {
process = Runtime.getRuntime().exec("perl /home/Leen/Desktop/Tools/bin/tool.pl config=../mydefault.config file=../Test");
process.waitFor();
if(process.exitValue() == 0) {
System.out.println("Command Successful");
} else {
System.out.println("Command Failure");
}
} catch(Exception e) {
System.out.println("Exception: "+ e.toString());
}
내 코드가 잘못 되었습니까?
현재 가지고있는로Runtime.getRuntime().exec(new String[] {"perl", "/home/Leen...", "config=...", "file=..."});
, 런타임 그대로perl /home/Leen/Desktop...
, 공간과 모든라는 명령 을 찾았된다
터미널에서 실행할 때 명령의 존재 상태를 확인 했습니까? '$? '. Java 코드의 올바른 디렉토리에서 실행하고 있습니까? –
exec 내의 경로. 기능이 잘못되었습니다. 스크립트를 실행하기 전에 System.properties를 인쇄하고 런타임 환경을 확인하십시오. 아니면 절대 경로로 시도하십시오 : 나는/home/user/....을 의미합니다. – gersonZaragocin