java web后台调用自定义arctoolbox(开发的程序放到tomcat容器运行)

写在前面:

前一段时间测试了普通 java 工程调用 ArcObject 10.5(下文简称AO)的功能,主要想在程序调用自定义arctoolbox模型,完成一些功能,在将该功能转换成web工程时,出现一些问题,现将解决方式记录下来,以备将来查阅。

 

1、开发环境:

ArcGIS 10.5,myeclipse 2014, jdk 1.8 32位,tomcat 8.5 32位,spring、spring mvc 4.3等

环境安装与配置,在些不在赘述。

有关 AO 开发的知识,也不在赘述。

 

2、问题说明

在没有解决该问题前,网页请求调用 AO 功能,会出现如下图所示异常。

造成该异常的原因,是由于程序中涉及到 AO 的代码找不到 arcgis 环境。

 

3、解决方式

在这一部分分为 2 种情况, 一种是在代码开发时, IDE 环境中的 tomcat 配置,一种是将开发好的程序部署到 tomcat 中运行时的配置。

在本文中假设 arcgis desktop 安装路径为:C:\Program Files (x86)\ArcGIS

 

先说第一种情况,在 IDE 中配置 arcobject 环境:

选择myeclipse菜单 windows -> preferences,选择左侧 servers -> tomcat,配置相应 tomcat  的paths环境,具体如下图:

 

 

 第二种情况,配置 tomcat 运行环境:

按照 tomcat 的 java 环境配置说明,新建 setenv.bat 脚本文件,放在 tomcat bin 目录下,并在文件中配置上图中的路径,具体为:

set JAVA_OPTS="-Djava.library.path=C:/Program Files (x86)/ArcGIS/Desktop10.5/java/lib;C:/Program Files (x86)/ArcGIS/Desktop10.5/bin;"

 

 4、结尾

按照上文所术方式,配置完 ide 和 tomcat 的  arcgis 环境后,一般情况下,只要你开发的 AO 程序没有问题,在将其改为 web 工程后台后,也不会有什么问题,祝亲们测试成功。

 

5、注意

java web 后台调用自定义 toolbox 功能,同一时刻只能运行一个 toolbox 处理,即 ao 代码,只能被一个线程调用,否则会出错,切记……

 

posted @ 2018-05-02 17:42  留下来  阅读(254)  评论(0编辑  收藏  举报