gpt4 book ai didi

java - 如何在 Windows (7) 上更改 Java 运行时版本?

转载 作者:IT老高 更新时间:2023-10-28 20:22:25 26 4
gpt4 key购买 nike

如何在 Windows 上更改 Java 运行时版本。

我为一些测试安装了 Java 7,现在我需要旧的 java6 作为系统默认值,但我不想卸载 Java 7(我需要它用于以后的测试)。我可以更改系统使用的JRE在控制面板/Java/JRE 选项卡中?我可以更改/编辑/添加/删除用户使用的版本,但不能更改系统使用的版本。

最佳答案

对于 Java 应用程序,即(通常)作为 .jar 文件交付并以 java -jar xxx.jar 开头的程序或通过执行相同操作的快捷方式,将启动的 JRE 将是在 PATH 上找到的第一个 JRE。

如果您安装了 JRE 或 JDK,可能会在 C:\Program Files\JavaSoft\JRE\x.y.z 等目录下找到 .exe。但是,我发现一些“开箱即用”的 Windows 安装(也是?)在 C 中具有 java.exejavaw.exe 的副本:\winnt\system32(NT 和 2000)或 C:\windows\system(Windows 95、98)。这通常是 Java 的一个相当老的版本:1.3,也许吧?您需要在命令窗口中执行 java -version 以检查您没有运行一些过时的 Java 版本。

您当然可以通过在命令行或快捷方式定义中明确说明 java.exe/javaw.exe 的路径来覆盖 PATH 设置,甚至不使用它。


如果您从浏览器运行 applet,或者可能还运行 Java Web Start 应用程序(它们看起来像应用程序,因为它们有自己的窗口,但您启动它们来自浏览器),JRE 的选择由一组注册表设置决定:

Key: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3

使用此方案创建更多注册表项:

(e.g.) 
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3.1

即一个用于主要版本号,一个包含次要版本号。这些键中的每一个都具有如下值(显示示例):

JavaHome    : C:\program Files\JavaSoft\JRE\1.3.1
RuntimeLib : C:\Program Files\JavaSoft\JRE\1.3.1\bin\hotspot\jvm.dll
MicroVersion: 1

...您的浏览器将根据这些设置来确定要启动哪个 JRE。

由于 Java 版本变化非常频繁,现在有一个名为“Java 控制面板”的“向导”可以手动切换浏览器的 Java 版本。这适用于 IE、Firefox 以及可能的其他产品,如 Opera 和 Chrome:它是 Windows 的 System Settings 应用程序中的“Java”小程序。您可以选择任何一个已安装的 JRE。我相信那个向导会摆弄那些注册表项。

如果您像我一样通过简单地清除目录来“卸载”旧 Java 版本,您也会在选择中找到这些“幽灵”;所以请确保您选择的 JRE 对应于完整的 Java 安装!


其他一些答案建议设置环境变量JAVA_HOME。这同时也是过时的建议。 Sun 意识到,在 Java 2 前后,这种环境设置是

  1. 不可靠,因为用户经常设置不正确,并且
  2. 不必要,因为运行时很容易找到 Java 库目录,知道它们位于相对于 java.exe 或 javaw.exe 启动路径的固定路径中。

几乎没有任何现代 Java 软件需要或尊重 JAVA_HOME 环境变量。


更多信息:

...以及有关多版本支持的一些有用信息:

关于java - 如何在 Windows (7) 上更改 Java 运行时版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3333553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com