为什么更新后的 Java 会运行旧版本?

为什么更新后的 Java 会运行旧版本?

我使用的是 64 位 Windows 7。我同时使用 64 位和 32 位浏览器。

我已将 java 更新至当前版本 (1.6.0_35),但控制面板 \ java \ 关于显示它正在运行过时版本 1.6.0_017。

此外,Java 控制面板中的 Java 选项卡告诉我我安装了三个版本。 Program Files (x86) 中的 1.7.0_07 Program Files (x86)
中的 1.6.0_17 Program Files
(x86) 中的 1.6.0_35

我如何运行当前版本?

答案1

您的 32 位浏览器将调用 32 位 JRE,而您的 64 位浏览器将调用 64 位 JRE。

32 位 JRE 安装在 中,Program Files (x86)而 64 位 JRE 安装在 中Program Files

就您而言,您拥有的最新的 64 位 JRE 似乎是 1.6.0_17。

答案2

我怀疑当我从非管理员帐户更新时出现了问题。

我卸载了所有三个版本,然后重新安装了当前的 1.7 版本。它现在运行的是当前版本。

答案3

旧版本是否显示在 32 位或 64 位浏览器中?如果是 64 位浏览器,请查看安装 x64 版本的 1.6.0_35 是否能修复浏览器插件。

如果这不起作用,您可以从控制面板启动“Java”。它将允许您选择系统上应使用的 JRE,并且如果未找到其他 JRE,您可以手动选择它们。

另外,对于从命令行使用的 JVM/JDK,我希望对正在使用的版本有更多控制,因此我有一组系统环境变量来设置路径上的 JVM。我有一个 JAVA_HOME 变量,它包含在设置为 bin 目录的 PATH 中。我还为安装的每个版本的 JVM 设置了一组系统环境变量,例如JAVA_HOME_1_6_17,,,,我在安装新 JVM 时创建这些JAVA_HOME_1_7_2变量JAVA_HOME_1_6_35,它们指向每个 JVM 的安装目录。JAVA_HOME 变量仅指向我想要使用的 JDK 版本,例如JAVA_HOME=JAVA_HOME_1_6_35

答案4

最干净的解决方案是卸载所有已安装的 JRE 和 JDK,然后下载最新的 32 位和 64 JRE 并安装它们。

这些 JRE 将安装C:\Program Files\Java\jre7C:\Program Files x86\Java\jre7

根据安装路径,您还安装了一些 JDK。只要您不使用 Java 进行开发,就不需要它们。

请注意,JDK 不会自动更新。您必须下载新的 JDK,安装它并卸载旧的。

相关内容