JDK和JRE不同版本切换的问题

最近公司有2个项目,不同的服务器上JDK的版本不一样,我想在本机上同时装2个JDK和2个JRE,不知道有没人能提供一些好的切换的办法呢,不甚感激,在网上寻觅很久没发现答案,谢了。
注:我这边两个版本是1.4和1.5
问题补充

zhu_chen001 写道
启动时候设置不同的java_home即可

貌似这样做的话 运行JAVA -VERSION 查看版本的时候仍然没有改变,
HKEY_LOCAL_MACHINE“SOFTWARE“JavaSoft“Java Runtime Environment“CurrentVersion, 把这个键值改成你需要的jdk版本号
不知道修改这个会不会有什么严重的后果!

采纳的答案
2009-10-12 e_ville (初级程序员)
都可以切换,不用改注册表。

不管你设置JAVA_HOME为哪个,当你在控制台执行java -version的时候,使用的都是最后安装那个JRE,为啥呢?因为执行java.exe的时候,寻找jre的顺序是这样子的:
1.  自己的目錄下有沒有 JRE目錄。(這個部分這樣說並不是非常精確,原因請詳見JDK原始碼,這此不特別說明)
2.  父目錄底下JRE子目錄。
3.  查詢 Windows Registry(HKEY_LOCAL_MACHINE/Software/JavaSoft/Java
Runtime Environment/)

通常当你直接在控制台下执行java -version,运行的C:/Windows/system32/java.exe,为什么会在这里有个java.exe?因为从JDK1.3开始,在安装JDK的时候会自动复制java.exe到C:/Windows/system32,加上path环境变量最前面的就是C:/Windows/system32,因此即使将JDK/bin加到path中,仍然是执行最先找到的java.exe。
这个java.exe查找JRE时明显是按照上面的第3点来的。

因此楼主如果想用不同的JRE,保证下面两点就行了:
1.  那一個 java.exe 被執行。
2.  java.exe 找到哪一套 JRE。
可以通过编写一个批处理脚本来进行,类似于WebLogic的启动脚本。

建议楼主看看台湾王森先生写的《Java深度历险》一书,就有讲到这些问题。我上面贴的两段带繁体的就是从此书中Copy过来的咯……


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dvkc/archive/2011/05/19/6431511.aspx

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值