为什么 java -version 返回的版本与 JAVA_HOME 中定义的版本不同?

Jeu*_*une 25 windows java

我的 JAVA_HOME 设置为C:\bea\jdk150_10\bin(Java 1.5)。但是,当我运行时,java -version我得到以下信息:

java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

如何使用 1.5 版本?

小智 24

正如Mikel 所提到的,在您的机器中,java 取自C:\Windows\System32\java.exe.

更改系统环境变量中的 Path,如John T 所述

并修改它 在路径中具有C:\bea\jdk150_10\binbefore %SystemRoot%\system32

  • 人们通常忘记检查顺序,他们只是检查环境变量中是否有条目。谢谢你提到这一点。 (2认同)

Mik*_*kel 22

where java
Run Code Online (Sandbox Code Playgroud)

在您的命令提示符下。

在我的系统上,它打印了一些出乎意料的东西:

C:\Users\Mikel>where java
C:\Windows\System32\java.exe
Run Code Online (Sandbox Code Playgroud)

验证那里真的有一个 Java:

C:\Users\Mikel>c:\windows\system32\java.exe -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

因此,一种解决方案是确保您首选的 Java 位于 PATH 之前C:\Windows\System32

我还尝试查看 Java 控制面板以查看它是否管理 中的版本C:\Windows\System32,但我只能查看设置,不能编辑它们。也许它对你有用?


Joh*_*n T 8

修改PATH变量,而不是JAVA_HOME.

请参阅有关设置或更改 PATH 变量的 Java 文档。

  1. 开始 -> 控制面板 -> 系统 -> 高级

  2. 单击 Environment Variables,在 System Variables 下,找到PATH并单击它。

  3. 在“编辑”窗口中,PATH通过将类的位置添加到 的值来进行修改PATH。如果您没有 item PATH,您可以选择添加一个新变量并添加PATH作为名称和类的位置作为值。

  4. 关闭窗口。

  5. 重新打开命令提示符窗口,然后运行您的 Java 代码。


小智 5

转到环境变量的高级设置并编辑路径变量。无论您想要哪个版本的 Java,只需将版本路径向上移动到其他 Java 版本的所有其他环境变量之上。

这里在图像中 java_home 环境变量比 oracle java 环境向上移动