Eclipse3.2下进行ArcGIS Server 9.2 Java WebADF开发手记 - 环境配置篇
2008-07-27 02:48 flyingfish 阅读(4516) 评论(11) 编辑 收藏 举报业余出于兴趣和学习交流目的捣腾了一下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
----------------------------
经下载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">
其二,待续......