Подробнее о Windows ... переменная java.home не всегда находится в том же месте, что и исполняемый двоичный файл.
Как говорит Denis The Menace, установщик помещает Java-файлы в Program Files , а также java.exe в System32 . С Java, связанным с путем java -version , все еще может работать. Однако, когда программа PeterMmm запускается, она сообщает значение Program Files как java.home , это не так (Java там установлен), но фактический исполняемый файл находится в System32 .
Один из способов поиска местоположения двоичного файла java.exe , добавьте следующую строку в код PeterMmm, чтобы программа еще долго работала:
try{Thread.sleep(60000);}catch(Exception e) {}
Скомпилируйте и запустите его, затем найдите местоположение java.exe образа. Например. в Windows 7 откройте диспетчер задач, найдите запись java.exe , щелкните правой кнопкой мыши и выберите «открыть файл», откроется точное местоположение двоичного файла Java. В этом случае это будет System32 .