论坛首页 编程语言技术论坛

Windows下多版本Java并存问题

浏览 2685 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-05-01  

跨平台的Java配置如下:

C:\Users\Administrator>set path

Path=……D:\Program Files\Java\jdk1.6.0_31\bin;……

 

C:\Users\Administrator>set java

JAVA_HOME=D:\Program Files\Java\jdk1.6.0_31

 

但是Windows平台可能出现javac和java版本不一致的情况:

C:\Users\Administrator>javac -version

javac 1.6.0_31

 

C:\Users\Administrator>java -version

java version "1.7.0_04"

Java(TM) SE Runtime Environment (build 1.7.0_04-b20)

Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)

 

这是因为Windows使用注册表作为一切工作的主旨,而JDK和JRE被定义为最高版本,并且window的home目录下的system32目录的Java可执行文件被替换为最高版本的了。该文件会根据策略查找相应jre/lib目录下的dll文件。

 

JDK

JRE

可执行文件

 

平台解决方案:

1.替换可执行文件为指定版本,将指定版本设置为CurrentVersion

2.将高版本的JRE注册表信息替换为指定版本的内容

 

Eclipse下解决方案:

指定vm:

eclipse.ini

-vm

D:/Program Files/Java/jdk1.6.0_31/bin/javaw.exe

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics