2014-05-22 4 views
-2

기본적으로/home/linux/src 디렉토리에 bash 파일을 열려고합니다. Netbeans를 사용하여 Java의 실행 파일입니다. Java 파일의 버튼을 누르면 bash가 열립니다 파일 ..Java ProcessBuilder in Ubuntu

Process p = null; 
ProcessBuilder pb = new ProcessBuilder("i"); 
pb.directory("/home/linux/src"); 
p = pb.start(); 

어떤 아이디어가 있습니까?

+0

pb.directory()에서 오류가 발생했습니다. 문자열을 –

+2

"NetBeans를 사용하여 Java의 실행 파일 이름"으로 변환 할 수 없습니다. 이것은 무엇을 의미합니까? – JesperE

답변

0

API을 보면 ProcessBuilder가 File이 아닌 String 매개 변수로 사용된다는 것을 알 수 있습니다. 당신이 ProcessBuilder을 사용하여 프로그램을 실행하려면 . 당신에없는 경우

는 또한

pb.directory(new File("/home/linux/src")); 

ProcessBuilder pb = new ProcessBuilder("./i"); 

시도 경로 (좋은 생각)

+0

여전히 동일합니다 bash 파일을 열 수 없습니다 –

+0

지금 오류가 무엇입니까? –

+0

컴파일 할 수 있지만 여전히 bash 파일을 열 수 없습니다. try { // try 문 프로세스 p = null; ProcessBuilder pb = 새 ProcessBuilder ("i"); pb.directory (새 파일 ("/ home/linux/src")); p = pb.start(); } catch (IOException e) { JOptionPane.showMessageDialog (null, "Error"); } –

0

, 당신이 중 하나를 통과해야 절대 경로이거나 프로그램이 환경 변수 PATH에 있는지 확인하십시오. pb.directory("/path/to/program");을 호출해도 Java가 프로그램을 자동으로 찾지 않습니다 (., 현재 디렉토리가 PATH에없는 경우). 당신이 /home/linux/src에서 프로그램 i을 실행하려면

당신은 (

pb = new ProcessBuilder("/home/linux/src/i"); 
pb.start(); 

참고 그러나,이 스크립트 또는 실행 비트 세트와 실행 바이너리를로, i 요구를 작동하려면 어떻게해야 이 작업을 수행하는 방법은 man chmod 참조).

관련 문제