描述:刚到新公司,自己安装了jdk1.8和开发工具eclipse oxygen,oxygen版本的eclipse只支持jdk1.8。但是由于公司项目的需要(较早的项目一般都是jdk1.6),需要使用jdk1.6。于是在切换jdk1.8和jdk1.6之前出现了一些小障碍,下面描述出来以便部分初级程序员和自己以后处理相类似问题。
到底是用的哪个java?
要想在启动不同的应用时切换或者指定不同的JDK,首先应该搞清楚一个关键的问题,到底是用的哪个java?
一般来说,安装JDK或者JRE时,会把java的相关可执行文件拷贝到C:\WINDOWS\system32里面,主要是为了方便普通用户不用配置环境变量也可顺利的运行java虚拟机程序,而且环境变量中C:\WINDOWS\system32在path中的位置是在前面,所以很自然的就会调用该java。在没有装JDK或者只装了某一个版本的JDK时,并不会引起问题,但是如果安装多个版本的JDK时,就可能会造成切换无效的问题。建议安装多个版本的JDK后,将该目录下java相关的命令删除,可以排除切换JDK无效的干扰。
不同JDK版本的切换
命令行下使用的java
核心原则还是更改环境变量,可以有两种思路,一种是全局修改,先设置JAVA_HOME的变量值为JDK的安装路径,即:"D:\Java\jdk1.X.X",然后在Path变量值后添加“;%JAVA_HOME%\bin”。这样我们切换JDK时只用修改JAVA_HOME中的路径即可。二是临时修改,主要用于在命令行执行特定java应用时需特定版本的jave.exe/javac.exe,利用DOS的set命令,语句如下:
set JAVA_HOME=C:\Program Files\Java\jdk1.X.X"%JAVA_HOME%\bin\java" [-options] class"%JAVA_HOME%\bin\java" [-options] -jar jarfile
注:“=”前后不应有空格,java命令应放在“”中,防止路径中存在空格的情况,也可将该命令写成bat脚本,方便在执行前设置对应版本的java
eclipse虚拟机中使用的java
如果eclipse版本需要支持的JDK版本和环境变量中配置的JDK不一致,会造成eclipse无法启动的情况,这时可以显式指定在运行 Eclipse 时要使用的个 VM。设置方法为在eclipse.ini 文件最前面加上下面两行内容:(本人所采取的方法)
-vm
C:\Program Files (x86)\\jdk1.6.0_22\bin\javaw.exeJDK历史版本的下载地址
由于某些需要,可能要下载某些旧版本
http://www.oracle.com/technetwork/java/archive-139210.html