安装完desktop,再准备安装jdk,并配置jdk的开发环境。ArcObjects SDK for java 所使用的JDK是32位的,所以在安装JDK时要注意。我的win7系统是64位的,Eclipse也是64位的,所以一开始安装JDK是选择的也是64位。结果在运行AO的示例是就报了如下错误:

Could not load native libraries.java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path

之后改用了32位的JDK才可以通过,我的机器中分别安装了32位和64位的JDK。现在我的Eclipse启动使用的jdk是64位的,在运行AO的示例时,使用的编译JDK是32位。

我没有把jdk安装在”program files”文件夹中,好像是因为编译GDAL时,jdk路径中有空格的话,路径得用双引号括起来。后来为了避免这个情况,干脆直接换了个路径安装。

Jdk下载路径:http://www.oracle.com/technetwork/java/javase/downloads/index.html

安装完jdk后需要配置系统变量。如下

JAVA_HOME: C:\Java\jdk1.7.0_60

CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

在PATH中添加以下内容:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 建议这两个路径添加到%SystemRoot%\system32路径的前面。因为在system32文件夹中也有java.exe。

当在cmd中使用java –version命令时,会按从左往右的顺序在Path中搜索java命令,把JAVA_HOME放在Path路径中%SystemRoot%\system32的前面就可以通过修改JAVA_HOME来修改使用的jdk版本了。

当我的JAVA_HOME修改为C:\Java\jdk1.7.0_60_win32时,启动Eclipse时会出现“Failed to load the JNI shared library…”,是由于jdk为32位,而Eclipse为64位导致的,只要将JAVA_HOME修改为64位的JDK路径就可以启动Eclipse了。如果使用的Eclipse是32位的就不会存在这个问题。