一台机器多个版本的JDK共存

我的机器上最 始安装的是 jdk1.6 ,后来因 工作需要又安装了 jdk1.4 。但是, 量我并未更改, 是指向 jdk1.6 的路径的。

可是,在 cmd 窗口 java -version 却得到是 1.4.2

查询环 量:
1.
我的 电脑 -> 属性 -> ->
2.
统环 (HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment)
 
当前用 户环 (HKEY_CURRENT_USER/Environment)

2
置完全是一 ,都是指向 1.6

了搞清楚 问题 的原因,通 过查询 料,原来是 这样 的:

JDK
在安装的 程当中将在注册表会生成如下 3 目:
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Development Kit
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment

JDK 安装程序将会把 java.exe javaw.exe javareg.exe 3 个可 行文件拷 %SystemRoot%/system32 下,由于 %SystemRoot%/system32 被操作系 缺省的 最高 PATH 搜索 路径,因此可保 在命令行任何目 下可运行 java.exe 来启 JVM

查询 HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment 得知 CurrentVersion=1.4
于是我手 将它修改 1.6 后,然后运行 java -version 得到以下 果:

Registry key 'Software/JavaSoft/Java Runtime Environment/
has value '1.6', but '1.4' is required.
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.


所以,不能 简单 的修改注册表的 CurrentVersion 来达到更改运行的 JRE 。若人 的修改 CurrentVersion ,会使得不同版本的 java.exe 与己版本不符的 java.dll jvm.dll ,将引起 料的后果!

一般地,当在系 中装了两套或多套版本的 Java2 SDK ,后面安装的 Java2 SDK 会将自己 java.exe javaw.exe %SystemRoot%/system32 下,从而覆盖先前版本的 java.exe javaw.exe ,并且在注册表中改写 CurrentVersion 后安装的版本。 所以建 在安装 Java2 SDK 前,先卸 以前 安装的版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值