* Это * действительно лучший способ запустить вторую JVM из кода Java?

Это продолжение моегособственный предыдущий вопрос и я'Я как бы стесняюсь спросить это ... Но в любом случае: как бы вы запустили вторую JVM из автономной Java-программы системно-независимым способом? И не полагаясь, например, на переменную env, такую как JAVA_HOME, поскольку она может указывать на другую JRE, чем та, которая в данный момент выполняется. Я придумал следующий код, который на самом деле работает, но чувствует себя немного неловко:

public static void startSecondJVM() throws Exception {
    String separator = System.getProperty("file.separator");
    String classpath = System.getProperty("java.class.path");
    String path = System.getProperty("java.home")
                + separator + "bin" + separator + "java";
    ProcessBuilder processBuilder = 
                new ProcessBuilder(path, "-cp", 
                classpath, 
                AnotherClassWithMainMethod.class.getName());
    Process process = processBuilder.start();
    process.waitFor();
}

Кроме того, работающая в данный момент JVM могла быть запущена с некоторыми другими параметрами (-D, -X ..., ...), о которых вторая JVM не знала бы.

Ответы на вопрос(3)

Ваш ответ на вопрос