第一章 環境配置
教程中所基於的環境為Windows7 旗艦版 SP1 64位,ArcGIS for Desktop 10.0版本, jdk-7u60-windows-i586,Eclipse Standard/SDK Version: Kepler Service Release 2(4.3.2),WindowsBuilder 1.7。
第一節 ArcGIS 10.2安裝
ESRI的ArcGIS軟件安裝在網上有很多教程,不再重復。作為開發來講,ArcGIS的安裝有兩種方案。一種是先安裝ArcGIS for Desktop,再安裝ArcObjects SDK for java。這樣不僅可以做GIS開發,還可以使用desktop進行數據管理、編輯處理。
第二種是安裝ArcGIS Runtime后,再安裝ArcObjects SDK for java。由於我一直離不開ArcGIS Desktop,所以沒有試驗過這種組合。一般情況下,推薦使用第一種組合。下面是我安裝完成后的文件夾內容。
第二節 JDK安裝
安裝完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位的就不會存在這個問題。
第三節 Eclipse環境配置
按照Esri給出的一篇文檔上,推薦的是
“在安裝ArcGIS Plug-ins插件前,要安裝Visual Editor插件。當然了,不安裝這個插件也可以正常安裝ArcGIS Plug-ins的插件,只是在后面ArcGIS Plug-ins的ArcGIS Engine Palette插件安裝不了。所以下一步安裝Visual Editor插件。安裝Visual Editor之前,需要安裝emf和GEF插件。因此,要完全安裝Eclipse的Engine插件,需要這么一個安裝流程:
安裝EMF插件、GEF插件àVisual Editor插件àEngine插件。”
為了能實現在開發過程中拖拽ArcGIS的各種控件,我嘗試安裝VE插件。結果發現VE插件已經不再支持了http://www.chinambs.com/a/Androidcuowujijin/2014/0320/296.html。
我就使用了WindowsBuilder http://www.eclipse.org/windowbuilder/ 不過可惜是不能安裝ArcGIS Engine Palette。
第一步安裝windowsbuilder,下載地址為:
http://www.eclipse.org/windowbuilder/download.php
安裝方法為:
http://download.eclipse.org/windowbuilder/WB/integration/4.3/
安裝后:
第四節 安裝ArcObjects SDK for Java
接下來安裝ArcObjects SDK for Java
按照提示安裝完成即可。安裝后的文件夾..\ArcGIS\DeveloperKit10.2如下圖:
我同時安裝了ArcObjects SDK for MicroSoft.net Framework 和ArcObjects SDK for Java。
第五節 安裝 ArcGIS Plug-ins
啟動Eclipse,點擊helpàinstall new software…打開install對話框,點擊Add按鈕,打開Add Repository對話框,點擊Local按鈕,找到..\ArcGIS\DeveloperKit10.2\java\tools\eclipse_plugin\arcgis_update_site\arcobjects文件夾。
確定后在install對話框中的name項下會出現ArcGIS Plug-ins的內容
全選后安裝,根據環境配置,此處的Esri ArcObjects Palette將不會被安裝。
安裝完成后,將會重啟Eclipse,重啟之后Eclipse上菜單上會有一個ArcGIS項
在About對話框中也會有Esri的圖標
第六節 示例AddLayerFileToMap
在創建示例之前要先添加兩個環境變量,AGSDESKTOPJAVA和AGSDEVKITJAVA。這兩個變量指向了示例程序所需要的資源,在程序的代碼中有體現。
AGSDESKTOPJAVA:D:\Program Files (x86)\ArcGIS\Desktop10.2\
AGSDEVKITJAVA:D:\Program Files (x86)\ArcGIS\DeveloperKit10.2\
啟動Eclipse,點擊fileànewàothersàEsri Templates
打開New ArcObjects Sample Project對話框,在Select a Sample項下選擇visualbeansàmapbeanàaddlayerfiletomap,點擊finish便創建了一個addlayerfiletomap工程,
運行該工程,成功運行即可。