2012-12-06 3 views
0

다른 디렉토리의 다른 Java 프로그램에서 Java 프로그램을 호출하려고합니다. "no such file or directory"오류가 발생하지만 복사하여 오류로부터 도달하려고하는 디렉토리를 붙여 넣을 수 있으며 정상적으로 작동합니다.다른 java 프로그램에서 전화를 걸 때 디렉토리 오류가 발생했습니다.

Exception in thread "main" java.io.IOException: Cannot run program "java -classpath /home/paleus/directories/trunk/web/postProc PostProcAuto": java.io.IOException: error=2, No such file or directory 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:474) 
    at java.lang.Runtime.exec(Runtime.java:610) 
    at java.lang.Runtime.exec(Runtime.java:483) 
    at PreParseAuto.parseEmail(PreParseAuto.java:352) 
    at PreParseAuto.main(PreParseAuto.java:79) 
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:164) 
    at java.lang.ProcessImpl.start(ProcessImpl.java:81) 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:467) 
    ... 4 more 
[[email protected] preParsing]$ java -classpath /home/paleus/directories/trunk/web/postProc PostProcAuto 
Please run as: inFile outFile procType[Inferencing=0|Phone=1|Email=2|Addr=3] 
[[email protected] preParsing]$ 
+1

것은 어쩌면 java 명령은 우리에게 코드를보기 – Hiro2k

+0

경로에 있지 않습니다. –

+0

프로세스 x = Runtime.getRuntime(). exec (새 문자열 [] { "java -classpath"+ postProcPath + "PostProcAuto", outFile.split ("\\."), "2"}}); – user1774774

답변

0

봅니다 당신은 그들이

을 공간이있는 경우 인수를 인용 할 필요가 명령을

그래서 대신

java --classpath ... 

는 또한

C:\Program Files\Java\jdk1.7\bin\java --classpath ... 

할 전체 경로를 수 제공

+0

이 파일은 Linux VM에 있으므로 java 바이너리의 전체 경로를 알 수 없습니다. – user1774774

+0

그냥'which java'를 명령 행에서 수행하면 알 수 있습니다. – Hilikus

+0

시도했지만 수정하지 않았습니다. – user1774774

0

Process x = Runtime.getRuntime().exec(new String[]{"java","-classpath",postProcPath,"PostProcAuto",outFile.split("\\."), "2"}); 

보다는 : 할 필요

을 파악

Process x = Runtime.getRuntime().exec(new String[]{"java -classpath " + postProcPath +" PostProcAuto", outFile.split("\\."), "2"}); 
관련 문제