TestClass.java
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestClass {
public static void main(String[] args) throws IOException {
System.out.println("inside");
ProcessBuilder pb = new ProcessBuilder("java", "-cp", "", "test.OtherClass");
Process p = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
StringBuilder builder = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
builder.append(line);
builder.append(System.getProperty("line.separator"));
}
String result = builder.toString();
System.out.println(result);
}
}
OtherClass.java
package test;
public class OtherClass {
public static void main(String ar[]) {
System.out.println("Hello Amit!");
}
}
TestClass에서 OtherClass를 실행하려고하는데 실행할 수 없습니다. TestClass를 실행하면 "내부"만 인쇄됩니다. 나는 어떤 예외도받지 않고 있으며 지금 당장은 단서도 없다. 처음으로 ProcessBuilder를 구현하고 있습니다.
참고 : ProcessBuilder를 사용하여 간단한 프로그램을 실행할 수있었습니다. 또한 당신의 의미 무엇 말할 수 -cp
; 나는 많이 봤지만 그 의미를 찾을 수 없었다.
편집하다:
코드를 업데이트했고 이제
inside
Error: Could not find or load main class test.OtherClass
감사!
클래스 경로 일 가능성이 높습니다. test라는 디렉토리가 있다고 가정하면 다음과 같은 것을 시도해 보셨습니까?
ProcessBuilder pb = new ProcessBuilder("java", "-cp", ".", "test.OtherClass");
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다