1、目 录写在前面 .3一 介绍 .4二 工具 .4Java.4Maven .4Subversion .4三 源代码 .4源代码 .5提交 .5库结构 .5分支结构 .6快速入门 .6取出源代码 .7由 Maven 构建 .7由 Maven 生成 Eclipse 工程文件 .9导入模块进 Eclipse.9在 Eclipse 中运行 GeoServer.12访问 GeoServer 首页 .13Maven 指南 .13安装 Maven .13运行 Maven .13构建 .13跳过测试 .14离线构建 .14构建扩展 .14Profiles .15Eclipse.15构建 Web 模块 .15使用
2、 Jetty 运行 web 模块 .16Eclipse 指南 .16导入模块 .17运行和调试 .17设置数据目录 .17更改 Jetty 默认端口 .18配置 Jetty 的 JNDI 资源 .19Eclipse 首选项 .20代码格式化 .21代码模板 .22文本编辑器 .22编译器 .23OWS 服务 .24OWS 服务概览 .24实现一个简单的 OWS 服务 .24建立 .25创建插件 .27试一试 .30REST 服务 .34简介 .34RESTful 服务实现 .35基于 Maps 的 Restful 服务实现 .43基于反射的 Restful 服务实现 .49GeoServer
3、中的 Wicket 开发 .55Web 用户接口 .61简介 .61实现一个 Wicket UI 扩展 .63写在前面一 介绍二 工具JavaMavenSubversion三 源代码源代码提交库结构分支结构四 快速入门取出源代码由 Maven 构建由 Maven 生成 Eclipse 工程文件导入模块进 Eclipse在 Eclipse 中运行 GeoServer访问 GeoServer 首页五 Maven 指南六 Eclipse 指南七 编程指南八 释放指南九 释放测试检查列表十 CITE 测试指南十一 政策与步骤写在前面我一直对 OSGeo 的软件和应用很感兴趣,希望致力于这些软件在中国的
4、普及与应用,GeoServer 开发手册是这些工作的一部分。在近几年开源 Web Map/GIS 实践应用中,GeoServer 的热度一直稳中有升。下图是 Google 趋势就 GeoServer、MapServer 的分析图表。图 1 GeoServer、MapServer 趋势分析尤其有意思的是,在 GeoServer 的使用国家分布来看,以德国居多,其次就是中国(见图 2)。可见,在中国或者说中文环境下,使用开源地理信息服务器 GeoServer 比较多。我个人也比较喜欢 GeoServer,因为我觉得它的配置、使用比起 MapServer 方便,至少不需要去编辑某些文件。图 2 Ge
5、oServer 搜索量前 5 名国家(见 Google 趋势)此次翻译以 2.0.2 版本为原型,对于翻译中出现不正确的地方,希望大家不吝赐教,与我交流。一 介绍空。二 工具在 GeoServer 开发者环境搭建以前,需要安装以下工具:JavaGeoServer 开发需要 JDK1.5 及其以上版本,可从 Sun Microsystems 获取。注:除了可以使用 Sun 提供的 JDK 以外,也可以使用其它的,但这里我们推荐使用 Sun 的。MavenGeoserver 使用 Maven 工具构建。当前推荐版本是 2.1.0,可从 Apache 获取。虽然 2.1.0是推荐的,但 2.0.8
6、以上版本同样可用。SubversionGeoserver 源代码由 subversion 库完成存储和版本管理。对于不同平台有多种subversion 客户端可获取。更多细节请访问:http:/subversion.tigris.org/getting.html 。三 源代码源代码GeoServer 源代码存放在: http:/svn.codehaus.org/geoserver。使用以下方式取出开发版/trunk 版本svn co http:/svn.codehaus.org/geoserver/trunk geoserver使用以下方式取出稳定版/stable 版本:svn co http
7、:/svn.codehaus.org/geoserver/branches/1.7.x geoserver警告:Geoserver 库包含大量空间数据。从上取出这些数据对于低带宽用户来说相对就很慢或者很昂贵,这种情况下,用户可以通过以下方式仅获取源代码:svn co http:/svn.codehaus.org/geoserver/trunk/src提交通过以下步骤提交到代码库:1. 安装 subversion 配置 文件,请看后面备注。2. 注册获取提交权限。3. 将库切换到 ”https”协议,例如:root of checkout% svn switch https:/svn.codeh
8、aus.org/geoserver/trunk库结构http:/svn.codehaus.org/geoserver/branches/spike/tags/trunk/branches 包含以前所有稳定的开发分支,1.6.x,1.7.x,etcspike 包含实验版本和原型tags 包含以前所有释放版本trunk 为当前开发分支。分支结构每个开发分支都有如下所示的结构:http:/svn.codehaus.org/geoserver/doc/src/data/doc 包含用户和开发人员向导的源文件src 包含 Geoserver 本身的 Java 源码data 包含多种 GeoServer
9、的数据目录快速入门本章介绍快速搭建、运行 GeoServer 开发环境具体步骤。我们假定您已经安装好所有必须的工具(内容见第二章)。注:本章的上的是为了尽快的让开发者搭建和运行 GeoServer。对于一些更加深入的介绍请见 Maven 指南和 Eclipse 指南。取出源代码由 Maven 构建由 Maven 生成 Eclipse 工程文件导入模块进 Eclipse在 Eclipse 里运行 GeoServer访问 GeoServer 首页取出源代码由 subversion 库中取出源代码。选取 trunk 作为最新开发源码,或者那些基本不可能经常更新的版本的稳定分支。要么是:svn co
10、https:/svn.codehaus.org/geoserver/trunk geoserver-trunk或者(稳定的 1.7.x 分支 )svn co https:/svn.codehaus.org/geoserver/branches/1.7.x geoserver-1.7.x在这页示例里面,我们假定你取出源码到一个名为 geoserver 的目录,不过,最好还是把名字取得更详细一点为好。由 Maven 构建修改目录到源树的根,执行以下 maven 构建命令:cd geoserver/srcmvn clean install成功构建后会产生类似于以下的输出:INFOINFOINFO -
11、INFO Reactor Summary:INFO -INFO GeoServer . SUCCESS 10.271sINFO GeoServer Maven Plugins . SUCCESS 0.865sINFO Configuration Deployment PlugIn . SUCCESS 3.820sINFO GeoServer Maven Archetypes . SUCCESS 0.054sINFO GeoServer WFS Output Format Archetype . SUCCESS 0.390sINFO Core Platform Module . SUCCESS
12、5.270sINFO Data Module . SUCCESS 4.521sINFO Open Web Service Module . SUCCESS 2.730sINFO Main Module . SUCCESS 10.077sINFO Web Coverage Service Module . SUCCESS 3.785sINFO Web Coverage Service 1.1.1 Module . SUCCESS 5.254sINFO Validation Module . SUCCESS 1.131sINFO Web Feature Service Module . SUCCE
13、SS 6.695sINFO Web Feature Service Module . SUCCESS 1.197sINFO Web Map Service Module . SUCCESS 8.519sINFO Geoserver REST Support Code . SUCCESS 3.366sINFO GeoWebCache (GWC) Module . SUCCESS 0.255sINFO Web Application Module . SUCCESS 27.386sINFO Community Space . SUCCESS 0.312sINFO GeoServer Extensi
14、ons . SUCCESS 0.071sINFO -INFO -INFO BUILD SUCCESSFULINFO -由 Maven 生成 Eclipse 工程文件生成 Eclipse 使用的.project 文件和.classpath 文件:mvn eclipse:eclipse导入模块进 Eclipse1. 启动运行 Eclipse 集成开发环境2. 打开 Eclipse 首选项 Preferences3. 依次点击进入: Java,BuildPath,Classpath Variables,点击 New4. 创建类路径变量名称 ”M2_REPO”,并且设置它的值为本地 Maven 库的位置,点击OK。5. 单击 OK 以应用新的 Eclipse 首选项。