1. 程式人生 > >普通 java 工程調用 arcobject 功能,打包成獨立可運行程序後,用腳本調用

普通 java 工程調用 arcobject 功能,打包成獨立可運行程序後,用腳本調用

安裝路徑 nbsp 假設 2個 文章 參數 查詢 utf 防止

寫在前面:

在實驗 java 調用 ArcObject(下文簡稱AO),開發業務功能時,遇到了普通 java 工程可以正常運行,而在將工程改為 web 後臺,放在 tomcat 中運行時,出現了錯誤,具體錯誤信息已在其他文章說明,在些不在贅述,開發功能是不可少的,既然出現了問題,就要解決問題,遂想到將開發的 AO 程序,打包可獨立可運行 jar 包,以 cmd 的方式調用,不也能解決問題嗎,於是開始測試,不想測試成功,在此記錄,以備將來查詢。

(註:打包的獨立可運行的調用了 AO 接口 jar 包,不可被同時運行2個實例,具體原因未向 esri 技術支持咨詢,是我實測發現的,有可能是我代碼中調用 AO 的部分有問題,也可能是 AO 不支持多線程,誰知道呢)

1、開發環境

myeclipse 2014, ArcGIS 10.5,jdk 1.8 32位

開發的環境的安裝配置,網上很多,就不啰嗦了。

2、AO代碼的開發

我想讀這篇文章的各位親已經是 AO 開發的大牛、小牛了,有關 java 調用 AO SDK 開發,就不啰嗦了,在這裏,我實驗的是 AO 調用自定義 toolbox 模型,用到了 geoprocessor 等內容。

3、具體 cmd 腳本

在寫 cmd 腳本前,假設 arcgis 安裝路徑是:C:\Program Files (x86)\ArcGIS;

開發好的 AO 程序打包好,放在一個目錄下(也可不放,各位隨心),在該目錄下新建 callao.bat 文件,書寫如下內容:

rem 設置當前 cmd 窗口編碼為 utf-8,防止開發的AO程序中接收的參數中有中文,無法正確運行
chcp 65001
set AGSDESKTOPJAVA=C:\Program Files (x86)\ArcGIS\Desktop10.5set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_144
set Path=%JAVA_HOME%\bin;%AGSDESKTOPJAVA%bin;%AGSDESKTOPJAVA%java\lib

java -jar callao.jar(此處為調用AO打包好的jar包絕對路徑) param1(參數1) param2(參數2)    //說明:參數的個數根據各位親調用 AO 代碼具體情況來定

4、結尾

哈哈,親們試試,能不能運行起來!

普通 java 工程調用 arcobject 功能,打包成獨立可運行程序後,用腳本調用