현재 디렉토리에 fingerVerification_fdu03이라는 실행 파일이 있습니다. 나는 ProcessBuilder를을 사용하여 Java에서 해당 실행 파일을 실행하려면, 그래서 내가 할 :ProcessBuilder를 사용하여 Java에서 실행 파일 실행
Process pb = new ProcessBuilder("fingerVerification_fdu03").start();
것은는 자바 프로그램과 동일한 디렉토리에있는 경우에도 파일을 찾을 수 있다고 말하고 그러나. 일반적으로 리눅스 터미널을 통해 단순히 fingerVerification_fdu03 명령을 실행할 수 있습니다 :
./fingerVerification_fdu03
그리고 실행됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?
업데이트 :
나는이 디렉토리를 추가하려고 시도했지만 여전히 동일한 문제가 발생했습니다. 내가 한 :
String workingDirectory = new String(System.getProperty("user.dir"));
File tempDir = new File(workingDirectory);
Process p = new ProcessBuilder("fingerVerification_fdu03").
directory(new File(workingDirectory+"//")).start();
fingerVerification_fdu03 파일의 확장에 문제가있을 수 있습니까? 내가 가진 확장 기능을 찾는 방법을 모르겠습니다. 이진 파일이며 확장명을 나열하지 않습니다.
또는 실행 파일의 절대 경로 만 지정하면됩니다. –
예. 그것이 PATH를 명시 적으로 또는 묵시적으로 수정하여 의미하는 바입니다. Answer –
Java 프로그램을 실행하고있는 디렉토리에서 실행중인 디렉토리라도 지정해야합니까? – user1410668