这个问题已经困挠我好些天了,一直想不通怎么一回事。我用的操作系统是Windows XP.
我机器上原本安装着 j2sdk1.4.2_07,在系统变量里面设置了
JAVA_HOME = c:/Program Files/JAVA/j2sdk1.4.2_07
Path = c:/Program Files/JAVA/j2sdk1.4.2_07
在 cmd 中 java -version,一切正常告诉我是 J2SDK 1.4.2_07
奇怪的事情是在安装 jdk1.5.0_01 的时候发生的,装完以后,没有配置任何的JAVA_HOME参数和Path参数。
在 cmd 中 java -version,告诉我了现在的版本是 j2sdk1.5.0_01。
公司的产品要基于1.4开发,我又想试试1.5
当你在安装 1.5.0 j2sdk 的时候,如果选择了 public jre 的话,他会取代掉原先的 1.4.2_07 的 public jre,你在注册表里面可以看到。
--------------------------------------------------------------------------------------
HKEY_LOCAL_MACHINE/Software/JavaSoft/Java Runtime Environment
值为 1.5
--------------------------------------------------------------------------------------
如果把它改成 1.4.2_07 的话(并把所有的相应参数都改为 1.4.2_07),会报出如下错误:
--------------------------------------------------------------------------------------
has value '1.4', but '1.5' is required
--------------------------------------------------------------------------------------
解决方法也很简单,只安装一个 j2sdk 1.4.2_07 的 public jre,j2sdk 1.5.0_01 不安装 public jre。
部署两个 Eclipse,Eclipse 3.0.1 的 jre 路径指向 j2sdk 1.4.2_07 的 jre,Eclipse 3.1M4 的 jre 路径指向 j2sdk 1.5.0_01/jre 就OK 了。