日期:2014-05-17 浏览次数:20902 次
跨平台的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