背景:
近日基于jdk1.6开发一小工具,本机全部验证通过。拿给客户放到服务器上后,发现客户服务器上jdk版本过低。机房的服务器较多,同时服务器上还有其他系统,客户不想因为一个小 工具而去升级服务器的jdk。这就只能是本地jdk换用低版本,并重新编译。不过处理过程遇到了点问题,在此记录一下。
操作:
步骤1、下载jdk1.5并安装(本机已经安装了jdk1.6);
步骤2、修改环境变量JAVA_HOME为jdk1.5;
步骤3、修改Eclipse的JRE library为新安装的jdk1.5。
问题1:
修改完成后,开启新的命令行窗口,执行java -version,显示jdk版本仍然是1.6,也就是说修改环境变量JAVA_HOME未生效!
C:\Users\YAN>java -version
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
Java HotSpot(TM) Client VM (build 20.14-b01, mixed mode, sharing)
问题原因:
在安装JDK1.6时,系统自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,系统环境变量path中C:\Windows\System32在前,因此执行java -version优先使用System32目录下的java.exe。
解决方法:
对应删除C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe,开启新的命令行窗口,执行java -version即可。
问题2:
在Eclipse运行程序,报Bad version number in .class file!这是什么意思,版本不对?
问题原因及解决:
Eclipse的编译器版本还是1.6没有改过来,对应改为1.5就可以了。