代码改变世界

Eclipse3.2下进行ArcGIS Server 9.2 Java WebADF开发手记 - 环境配置篇

2008-07-27 02:48  flyingfish  阅读(4522)  评论(11编辑  收藏  举报

 flyingfish


业余出于兴趣和学习交流目的捣腾了一下ArcGIS Server9.2的Java版开发,因为9.2刚出来那阵子就用.NET的ADF做过项目,感觉挺好用。当时也见别人用Netbeans做过Server9.2的开发,发现Java ADF中有一些比较好用的东西比如WebQuery等就比.NET下要方便一些。所以打算一试,没想到环境配置就遇到一系列问题,在这里总结一下:

 

1、首先用lomboz all in one来配置

通过Baidu和Google发现用Java做AGS开发的人不是太多,其中讲Java下Eclipse配置的文章不多,找来找去就那么几篇,其中以我早期转载的一篇为主。其中讲到用“lomboz-all-in-one-S-3.2RC2-200608081203-win32” 这个eclipse all in one套件+visual editer1.2,将这次折腾发现这篇文章有点误导初学者。

 

其一,Visual Editor只在做Engine开发时有用,对于WebProject它没什么作用;

其二,lomboz安装之后它的Welcome页面改不了,似乎被定死了,改了也不变。后来试了发现虽然不影响正常开发,但总觉的不爽,和ArcGIS的JavaDoc中出现的截图对不上,让人心里打鼓。

其三,lomboz对webadf的标签支持不是太好,类似于simple viewer例子中的<a:context id="context1" value="#{mapContext}" />这句都会有警告,直接提示mapContext不能识别,感觉和ArcGIS plug-in的兼容不是太好。

其四,用AGS模板向导建立的最简单例子”Simple Viewer“竟然有错误,开始以为是lomboz的问题,后来换了几个All In One插件环境都有这个问题,认为应该是ArcGIS Server安装包本身的问题。详细见4.

其五,lomboz对JSF的XML配置文件的编辑支持较强,基本填空就可以,这是印象最深的。

 

2、其次用MyEclipse配置

由于初次用做Java的Web开发对环境很陌生,所以基本不知道什么样子才是最终正确的配置好了。在Java高手建议下用MyEclipse配置了一下,发现问题依旧。更为突出的是MyEclipse中的一些插件和AGS中的一些jar包似乎冲突,并且My和AGS的插件配合不是太好,用My建WebProject时没有选AGS的选项,用AGS模板建又不能用MyEclipse的高级功能,因为工程类型就不同,这对于那些已经用My做过应用开发的系统和AGS应用集成来说可能会有问题。不过这也许是不会配置MyEclipse的问题,期望能找到答案。

 

3、最后用WPT配置

经过上述折腾之后总是怀疑Eclipse的环境配置有问题才导致这些问题的。所以又仔细看了一下AGS的JavaDoc,发现在《Guide to ArcGIS Server templates and projects》 中明确提到需要用”Eclipse WTP 1.5.x“,只后悔开始没仔细看Help。官方推荐的应该兼容性比较好吧!

----------------------------

The ArcGIS Server Plug-ins for Eclipse provide several templates and projects to help you quickly get started building applications and running samples. If you have not already installed the plug-ins, refer to the ArcGIS plug-in installation document.

 

Requirements to run the projects (Refer to http://support.esri.com for the latest configurations)

  • Eclipse WTP 1.5.x - Download from http://www.eclipse.org/webtools/.
  • Java 1.5.x
  • Apache Tomcat 5.5.x
  • JBOSS (NOTE: Only required when running the EJB samples or building EJB solutions. Optional for Web Applications)
    • 4.0.3 SP1 or higher for EJB Project
    • 4.0.2 for other Web applications
These required components must also be configured properly within Eclipse to run the ArcGIS plug-ins.

 ----------------------------

 经下载WTP并配置好后有点失望:

a)、例子依旧有错误,看来不是环境的问题。

b)、可视化支持没有,jsp和xml都不能可视化编辑,用惯了VS很难忍受没可视化。

c)、AGS ADF标签的识别不报警告了,很高兴。仔细看了一下,发现不是对了不报是这类标签不管value给什么都不报。可能没有对应的Validator吧。

d)、智能标标签提示和自动完成功能似乎也不好用。也可能是没配置好吧。总之感觉WTP和1、2相比算是一个轻量级的All In One.


4、Server Java Adf例子调试遇到问题:

 其一,Simple Viewer。

错误提示是这样:

--------------------

2008-7-27 1:51:43 com.esri.adf.web.data.GISResource init
严重: Unable to initialize functionality : toc. This functionality will be removed from this resource: USA

java.lang.NullPointerException: Unable to initialize AGSTocFunctionality. Invalid parameters.

--------------------

经过修改WEB-INF/faces-config.xml和WebContent/WEB-INF/context-attributes.xml两个JSF的配置文件解决问题,因为该例子的map.jsp中么有用到toc但是WebContent/WEB-INF/context-attributes.xml中定了对应的managed-bean,删掉就好了。不知道这算不算Bug?

 

并且发现本例子中引用的css文件根本不存在,不过似乎没有用到相关class也没报错。

           <link href="css/common.css" rel="stylesheet" type="text/css">
            <link href="css/brown.css" rel="stylesheet" type="text/css">              

 

 

其二,待续......