安装多个版本的JDK
2008-02-25 22:23
197 查看
(jdk可以解压缩放到硬盘上,但jvm是必须安装的,jvm本身就能够搜索jdk,所以那些不带jvm和jdk的开源软件,只要在安装了jvm的电脑上运行,,就可以通过jvm自动查找到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前,先卸载以前安装的版本。
我的机器上最开始安装的是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前,先卸载以前安装的版本。
相关文章推荐
- Eclipse 安装需要的 JDK 版本简要说明
- linux安装jdk1.7 .tar.gz 版本
- linux安装JDK服务(详细完整版本)
- MAC下安装多版本JDK和切换几种方式
- ubuntu 10.04安装sun版本jdk
- 在同一台机器上安装多个版本jdk,修改环境变量不生效
- [linux问题及解决] jdk版本问题-非最新安装的版本
- 安装两个不同版本的Jdk,改了path路径,但还是显示之前jdk版本号
- Ubuntu 下环境到搭建:安装JDK1.7,安装eclipse,安装tomcat7,安装c/c++版本的eclipse
- 安装多个jdk版本灵活切换选中开发环境
- 如何快速配好java环境变量和查看电脑上安装JDK的版本位数
- ubuntu多版本jdk安装及切换
- 明明白白WAS&IBM JDK的版本以及它们各安装了哪些补丁!
- JDK版本不兼容问题之:一台机器安装多个版本的JDK
- macbook 安装多版本jdk环境
- Mac下同时安装多个版本的JDK
- jdk(多版本)安装注意!
- MAC下安装多版本JDK和切换几种方式
- 在linux下安装多个jdk版本
- 同一台电脑安装多个版本的JDK及其注意事项