【任务描述】
工作需要,在本机(64位Win7旗舰版SP1)同时安装了32位和64位两个版本的JAVA JDK,并在系统环境变量中同时配置好了PATH值。
32位JDK的PATH值:C:\Java\jdk1.8.0_77_x86\bin;
64位JDK的PATH值:C:\Java\jdk1.8.0_77\bin;
在上述安装目录下,JAVA JDK的其他两个配置参数JAVA_HOME、CLASSPATH不需设置。

本文的两个背景任务如下:
任务一:利用JAVA进行ArcEngine二次开发
利用JAVA进行ArcEngine二次开发,必然用到arcobjects.jar,而此jar包只支持32位的JAVA JDK。
所以,为了满足利用JAVA进行ArcEngine二次开发的需求,在64位的操作系统中安装了32位的Eclipse 4.5(eclipse-jee-mars-R-win32)及32位的JAVA JDK。
注意:虽然本机环境为64位Win7旗舰版SP1操作系统,但也支持安装32位的Eclipse和32位的JAVA JDK。
任务二:利用DBeaver进行数据库管理
由于本机环境为64位Win7旗舰版SP1操作系统,所以安装了64位的DBeaver,而64位的DBeaver依赖64位的JDK。

【问题描述】
在本机环境中,Eclipse、DBeaver依赖不同版本的JAVA JDK:Eclipse依赖32位的JAVA JDK,DBeaver依赖64位的JAVA JDK。为了保证依赖JAVA JDK的软件的正常运行,常见方法是在系统环境变量PATH中添加对应软件依赖的JAVA JDK的路径。但是,由于存在多个JAVA JDK,所以采用它们的路径设置系统环境变量PATH时,这些路径必然以先后顺序出现在系统环境变量的PATH值中。然而,遗憾的是,虽然多个版本JAVA JDK的路径都出现在了PATH中,但操作系统不能自动将某个版本的JAVA JDK与相应软件结合,而是只选择最先出现在PATH值中的对应的JAVA JDK。这就导致在本机环境中,需要采用在系统环境变量中采用手动修改不同JAVA JDK的对应的PATH值出现顺序的方法,来保证Eclipse、DBeaver的交替运行。很显然,这种方法不高效,也令人不习惯。

【解决办法】
介绍一个懒人喜爱的方法:
依据自己在本机安装的32位Eclipse及依赖的32位JAVA JDK,在Eclipse的安装路径下(如D:\eclipse)找到eclipse.ini配置文件,打开并在其中的-vmargs前添加如下内容:

-vm
C:\Java\jdk1.8.0_77_x86\bin\javaw.exe
 

Dbeaver 启动提示 Java 版本过低 dbeaver配置jdk_JAVA

至此,实现了Eclipse、DBeaver在本机环境中自动识别相应的JAVA JDK并运行。
从而避免了手动修改PATH值的不便。