System.getProperty("java.home") 的问题

Problems with System.getProperty("java.home")

I 运行 Windows 7 安装了不同的 JRE/JDKs。我尝试将 JAVA_HOME 路径设置为 "C:\Program Files\Java\jdk1.8.0_45"。我尝试了多种方法来做到这一点,如 How to set java_home on Windows 7?.

中所述

我认为它有效,因为在高级系统属性中,显示了新路径并且命令 echo %JAVA_HOME% 也 returns 新路径。但是当我通过 cmd

调用以下程序时
public class JavaVersionShower {
    public static void main(String[] args){
        JOptionPane.showMessageDialog(null, System.getProperty("java.home"));
    }
}

消息 window 说 "C:\Program Files\Java\jre1.8.0_66"。 我也不能使用 JavaCompiler API,它只有在使用的 java 版本是 jdk.

时才可用

更新 java 主目录和路径在 windows 7 和 8 中略有不同。您可能需要转到 "C:\ProgramData\Oracle\Java\javapath" 来更新它们。这篇文章可能对您有所帮助Update Java path in Windows 8

拉维