Как получить местоположение исполняемого файла текущей запущенной JVM во время выполнения? Я хотел бы создать экземпляр другого JVM в качестве подпроцесса, используя класс ProcessBuilder.
Мне известно, что существует свойство java.home
System, но это не указывает местоположение исполняемого файла JVM. Я понимаю, что мог бы сделать что-то подобное, чтобы получить путь:
System.getProperties().getProperty("java.home") + File.pathSeparator + "bin" + File.pathSeparator + "java"
Этот код не является независимым от платформы, поскольку исполняемое имя Windows java.exe
, а не java
. Есть ли способ получить путь к исполняемому файлу JVM, который учитывает особенности платформы?