一、ArcEngine Java開發環境配置
AE Java開發環境的配置需要考慮的幾方面因素:ArcGIS Engine安裝環境、操作系統環境變量、JDK版本和Eclipse設置幾個方面。下面分別介紹:
- ArcGIS Engine安裝環境
ArcGIS Engine安裝不需要進行多餘的設置,只要記錄AE的安裝目錄即可。確認已經安裝好DeveloperKit。
- 操作系統環境變量
在ArcGIS Engine和DeveloperKit的安裝過程中會自動向操作系統的環境變量中添加環境變量:
在環境變量中還需要將一些必要的路徑添加到Path變量中,比如JDK的bin目錄、AE的開發包arcobjects.jar的路徑和AE的bin目錄。
%JAVA_HOME%\bin;
%AGENGINEHOME%\java\lib
%AGENGINEHOME%\bin;
- JDK版本
通常Java開發機器上都會有多個版本的JDK,這裏要注意在操作系統環境變量中要指定1.6.0以上版本32位的JDK,暫時不要使用1.7版本,很多AE運行錯誤都是因爲引用的JDK版本不當造成的。
- Eclipse設置
在Eclipse裏開發AE可以選擇先安裝ArcGISPlugin,目錄就在DeveloperKit中
裝好plugin的話,在新建ArcGIS項目的時候會自動在library里加入AE的安裝目錄中java\lib目錄下的arcobjects.jar。
在Eclipse中開發不可以將arcobjects.jar拷到項目中,這樣會報找不到dll的錯。除了ao包,還要注意jdk和Eclipse的版本,一定要是32位的,否則會報無法載入32位動態庫的錯。
如果沒有安裝Plugin,那麼也可以直接新建Java Project,然後手動在Library中加入External Jars,指向AE的安裝目錄中java\lib目錄下的arcobjects.jar。
如果以上四個因素都配置正確,這時應該可以進行AE開發了。
二、ArcEngine Java程序運行
通常AE Java開發的程序有兩種運行方式:在Eclipse裏直接運行或是將程序導出成Jar包單獨運行。兩種方式在運行時需要的環境有所不同,下面分別介紹:
- 在Eclipse裏運行
Eclipse的運行是比較簡單的,只要上面的環境都配置正確,那麼就可以直接在包含Main函數的Java中點擊右鍵,選擇運行就可以得到結果了。
- 在命令行中運行
但是在命令行中運行就比較麻煩了,尤其是對於在Linux系統中運行AE程序的用戶。
首先運行程序的時候要確定JDK版本是否正確,然後通過javac進行編譯
首先要設置path,進入帶有包文件的src目錄,然後設置當前目錄爲Path
Set path=.
然後編譯包下面的java文件
例如:javac -cp .;D:\ArcGIS\Engine10.1\java\lib\arcobjects.jar.\arcgissamples\loadsample\Main.java
然後通過java運行:
例如:java arcgissamples.loadsample.Main
在Linux下運行也要加入-cp:
java -cp .;D:\ArcGIS\Engine10.1\java\lib\arcobjects.jar -Xss32m arcgissamples.loadsample.Main
- 打包Jar運行
首先在Eclipse中將項目導出成jar
在導出過程中要指定Main函數的位置
然後導出成jar文件,打開jar文件,修改META-INF目錄下的MANIFEST.MF文件
在文件中的Class-Path中指定ao.jar的位置,通常有兩種方式,在工程jar包的平級建立一個目錄,然後放入arcobjects.jar,然後按照下圖指定位置,圖中就是平級建立了lib目錄
還有一種方法就是將arcobjects.jar拷貝到java的ext擴展包目錄中,每次jvm都會將包load進去,就不用每個工程都修改MF文件了。
還有一種方式是將arcobjects.jar直接打入到工程的jar包的根目錄中,這種方式經過測試通過,是部署比較方便的方式。
直接在cmd下運行jar包:
Java -jar ***.jar