Проблемы с System.getProperty(java.home)

Я запускаю Windows 7 с разными установленными JRE/JDK. Я пытаюсь установить путь JAVA_HOME к "C:\Program Files\Java\jdk1.8.0_45". Я попробовал несколько способов сделать это, как описано в Как установить java_home в Windows 7?.

Я думаю, это сработало, потому что в дополнительных свойствах системы отображается новый путь, и команда echo %JAVA_HOME% также возвращает новый путь. Но когда я вызываю следующую программу через cmd

public class JavaVersionShower {
    public static void main(String[] args){
        JOptionPane.showMessageDialog(null, System.getProperty("java.home"));
    }
}

в окне сообщения указано «C:\Program Files\Java\jre1.8.0_66». Я также не могу использовать API JavaCompiler, который доступен только в том случае, если используемая версия Java является jdk.


person Feanor    schedule 13.12.2015    source источник
comment
У вас есть разные установки Java в вашей системе?   -  person Julian L.    schedule 13.12.2015
comment
Вы перезапустили CMD после того, как изменили дом Java?   -  person AdamSkywalker    schedule 13.12.2015
comment
У меня разные установки Java в моей системе (как я уже сказал в своем вопросе), и я перезапустил cmd после того, как изменил JAVA_HOME; мои установки Java: jdk1.7.0_51, jdk1.8.0_45, jre1.8.0_45, jre1.8.0_60, jre1.8.0_66   -  person Feanor    schedule 13.12.2015
comment
с какой jre вы это запускали? Я думаю, что java.home относится к установочному каталогу jre, работающего в данный момент. Вы пытались запросить системное свойство JAVA_HOME изнутри Java?   -  person Androbin    schedule 22.08.2016


Ответы (1)


Обновление дома и пути java немного отличается в Windows 7 и 8. Возможно, вам потребуется перейти в «C:\ProgramData\Oracle\Java\javapath», чтобы обновить их. Эта статья может быть вам полезна Обновить путь Java в Windows 8

Рави

person Ravinder G    schedule 19.12.2015