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


     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">              

     

    其二,待续......



  • 相关阅读:
    Uncaught TypeError: Cannot read property 'PRINT_INIT' of undefined user:100
    haproxy 负载elasticsearch 切换
    高德地图-展示多个信息窗口
    elasticsearh 中每个节点中需要有相同的插件
    haporxy 负载elasticsearch
    AngularJS之ng-if指令
    文件上传并展示上传文件
    json编解码
    Grok 正则捕获
    logstash date插件介绍
  • 原文地址:https://www.cnblogs.com/flyingfish/p/1252305.html
Copyright © 2020-2023  润新知