package org.mapdb;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public final class JavaProcess {
private JavaProcess() {}
public static Process exec(Class klass, String[] args) throws IOException,
InterruptedException {
String javaHome = System.getProperty("java.home");
String javaBin = javaHome +
File.separator + "bin" +
File.separator + "java";
String classpath = System.getProperty("java.class.path");
String className = klass.getName();
List<String> commandArgs = new ArrayList<>();
commandArgs.add(javaBin);
commandArgs.add("-cp");
commandArgs.add(classpath);
commandArgs.add(className);
commandArgs.addAll(Arrays.asList(args));
ProcessBuilder builder = new ProcessBuilder(commandArgs);
return builder.start();
}
}