java平台下arcobjects的开发

Arcobjects java 二次开发
1.开发环境中安装插件
在eclipse(选择菜单Help下的Install New Softwares)中安装ESRI插件 plug-ins,位于
F:\ArcGIS\DeveloperKit10.1\java\tools\eclipse_plugin\arcgis_update_site\arcobjects
 
包括两个插件:Esri ArcObjects Palette与Esri ArcObjects,刚好对应features文件夹内两个文件,Palette插件实现可视化编辑开发arcgis程序,拖拽arcgis visual bean components,需要先安装Visual Editor plugin(ve)。
(plugins中包括多个jar包,features下的文件中不包括类文件,只有描述性的文件,其中feature.xml文件引用了plugins中的jar包,一个Eclipse插件对应一个feature文件,该文件引用plugins下的多个jar包来实现该插件的功能,feature文件只是描述引用作用,起组合plugins下jar包作用。)


2.构建arcgis应用程序
新建项目后,在项目属性页面中的Java build path引入arcobjects.jar包(会提示你使用desktop还server的库文件,前者位于Desktop\java\lib,后者位于Server\framwork\lib,两者实际是一样的)
具体可以参考arcgis java帮助手册。 Arcobjects.jar是位于java与arcobject组成之间,负责对组件进行调用,组件是用C++写的COM组件。


安装arcgis desktop下java目录下jre是32位,developerkit下的java也是32位数,需要使用32位jdk编译,并用其对应jre运行。
安装完后在系统变量里出现如下变量:
 
1) .运行developkit\java下的样例程序时出现native错误,unsatisfiedLinkError异常时,检查你用于运行样例程序(jar)的java虚拟机JVM是否为32位。
我利用JDK_1.8_u45可以运行,需配置环境变量JAVA_HOME
2).如果删掉以上的环境变量,再运行会出现如下错误
 


报错:没有安装ArcGIS Engine Runtime或ArcGIS Desktop;添加环境变量:
AGSDESKTOPJAVA=F:\ArcGIS\Desktop10.1\
后可以正常运行。
AGSDEVKITJAVA=F:\ArcGIS\DeveloperKit10.1\ 配置后可以正常启动帮助文档


如果利用javac编译时,需要指定arcobjects.jar包类文件


3.利用arcobjects开发的基本流程
(1)初始化Java COM Interop:利用EngineInitialize类来实现
通过Java COM Interop完成java类与原生arcobjects组件之间的沟通native COM ArcObjects components
(2)初始化有效许可 AoInitialize
(3)调用组件 Invoke ArcObjects
(4)释放许可 Release the license :AoInitialize的shutdown方法可以释放资源并通知arcobjects组件,他的服务不需要再提供了,由于AoInitialize是singleton class,所以不用担心你所关闭的不是你目前的系统。


注意:利用eclipse进行开发时需要指定arcobjects.jar与jre的buildpath,其作用是在利用javac编译时能找到相应的类文件(class文件),同时运行时也需要指定其位置,不能将Desktop10.1\java\lib下的arcobjects.jar拷贝到其他位置来链接他。
在命令行下的编译运行:
  javac –cp %AGSDESKTOPJAVA%\java\lib\arcobjects.jar BasicViewer.java
  java –cp %AGSDESKTOPJAVA%\java\lib\arcobjects.jar;. BasicViewer
如果java文件中包括package命令,要将编译成的class文件放在相应的层级目录下:
  Java –cp %AGSDESKTOPJAVA%\java\lib\arcobjects.jar;f:\data wei.BasicViewer
其中f:\data是wei目录的父目录,其告诉虚拟机在f:\data下搜索wei.BasicViewer类文件(即wei\BasicViewer.class),. 表示当前目录。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值