2
Runtime.exec을 사용하여 프로세스를 생성하려고합니다. 내 현재 클래스 경로를 사용하고 싶습니다 : System.getProperty ("java.class.path")Runtime.exec에서 사용할 classpath java를 설정하십시오.
불행히도, 나는 모든 종류의 문제를 겪고 있습니다. 내 Mac에서 작동하면 Windows에서 작동하지 않습니다. 그리고 클래스 패스에 공간이있을 때 내 Mac에서 작동하지 않습니다. 내가 항상 얻는 오류는 ClassDefNotFound입니다. 따라서 클래스 패스를 작성하고 전달하는 방법과 관련이 있습니다. 여기
은 몇 가지 예제 코드입니다 : 그래서String startClass = "com.test.MyClass"
String javaHome = System.getProperty("java.home");
String javaCmd = javaHome + "/bin/java";
String classPath = "-Djava.class.path=" + System.getProperty("java.class.path");
String[] commands = new String[]{javaCmd, classPath, startClass};
String commandString = StringUtils.join(commands, " ");
Process process = Runtime.getRuntime().exec(commandString);
, 어떻게해야 내가 설치 클래스 패스를? 어떤 도움
덕분에
문자열 배열을 사용하면 prob가 해결됩니다. ProcessBuilder를 직접 사용하여 종료했습니다. –