我和我的同事安装了相同的戴尔工作站,并安装了 Windows XP Professional x64 版本。
我的 Path 环境变量以:
%JAVA_HOME%\bin;...
Run Code Online (Sandbox Code Playgroud)
我同事的 Path 变量包含相同的目录,使用相同的环境变量指定,但它不是他的 Path 中的第一项。
如果我访问系统属性 -> 环境变量并更改我的 JAVA_HOME 变量的值,则从命令行找到的 java 版本会按我的预期更改。这是启动一个全新的控制台窗口,以确保获取更改。
但是在我同事的机器上,它没有。他继续寻找他以前的 Java 版本,直到他调出他的 Path 变量并保存它(即使他没有对其进行任何更改)。(同样,这是在启动一个全新的控制台窗口时。)
我已经观察了 Windows 上的这种不一致大约 6 个月了,并且对此非常好奇。我们办公室里有太多版本的 Windows,所以我很少有机会在运行完全相同操作系统版本的两台机器上看到这种情况,直到现在。
这是什么原因造成的?为什么他的机器不使用新的 JAVA_HOME 重新评估 Path,而我的呢?
(是不是因为这不是 Path 中的第一件事?如果是这样,那怎么可能,为什么?我会做更多的测试来检查,但我认为他现在已经受够了,想回去工作.)