这是一个真正的菜鸟问题。
当我使用命令行界面设置JAVA_HOME时,我使用了set JAVA_HOME = C:\ Program Files \ Java \ jdk1.6.0_13
但是,当我从System> Advanced> Environment Variables中打开JAVA_HOME变量时,更改不可见。这两种不同的设置是什么?
每次我设置一个新的Jdk时都会有这个问题,而且从来没有完全理解为什么两者似乎有所不同。
答案 0 :(得分:7)
您在命令行上设置的变量是 命令shell以及它启动的任何其他进程。从System / Advanced / Environment Variables设置它时,它会影响您启动的任何其他进程,包括命令shell,在设置之后。根据您设置的位置,它可供同一用户或登录的任何其他用户使用。
答案 1 :(得分:3)
您通过命令行设置的JAVA_HOME仅为shell的该会话设置。
答案 2 :(得分:3)
对父进程所做的更改只会传播给新创建的子进程;尝试打开一个新的命令提示符并检查那里的值。
答案 3 :(得分:2)
其他人说的话......: - )
我将添加即使在对话框中设置变量后,已经运行的进程(通常)也不知道更改:例如。命令提示符窗口仍将显示旧值。您必须启动另一个窗口才能看到更改 在某些(罕见)情况下,您甚至可能需要注销并重新登录以验证更改(我最近再次看到)。