geoserver中文开发手册.docx

上传人:b****4 文档编号:3516646 上传时间:2022-11-23 格式:DOCX 页数:17 大小:22.79KB
下载 相关 举报
geoserver中文开发手册.docx_第1页
第1页 / 共17页
geoserver中文开发手册.docx_第2页
第2页 / 共17页
geoserver中文开发手册.docx_第3页
第3页 / 共17页
geoserver中文开发手册.docx_第4页
第4页 / 共17页
geoserver中文开发手册.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

geoserver中文开发手册.docx

《geoserver中文开发手册.docx》由会员分享,可在线阅读,更多相关《geoserver中文开发手册.docx(17页珍藏版)》请在冰豆网上搜索。

geoserver中文开发手册.docx

geoserver中文开发手册

geoserver中文开发手册

一.目录

目 录

写在前面

一 介绍

二 工具

Java

Maven

Subversion

三 源代码

源代码

提交

库结构

分支结构

四 快速入门

取出源代码

由Maven构建

由Maven生成Eclipse工程文件

导入模块进Eclipse

在Eclipse中运行GeoServer

访问GeoServer首页

五 Maven指南

六 Eclipse指南

七 编程指南

八 释放指南

九 释放测试检查列表

十 CITE测试指南

十一 政策与步骤

二.介绍、工具、源代码三章

一 介绍

空。

二 工具

在GeoServer开发者环境搭建以前,需要安装以下工具:

Java

GeoServer开发需要及其以上版本,可从SunMicrosystems获取。

注:

除了可以使用Sun提供的JDK以外,也可以使用其它的,但这里我们推荐使用Sun的。

Maven

Geoserver使用Maven工具构建。

当前推荐版本是,可从Apache获取。

虽然是推荐的,但以上版本同样可用。

Subversion

Geoserver源代码由subversion库完成存储和版本管理。

对于不同平台有多种subversion客户端可获取。

更多细节请访问:

 。

三 源代码

源代码

GeoServer源代码存放在:

 。

使用以下方式取出开发版/trunk版本

svncogeoserver

使用以下方式取出稳定版/stable版本:

svncogeoserver

警告:

Geoserver库包含大量空间数据。

从上取出这些数据对于低带宽用户来说相对就很慢或者很昂贵,这种情况下,用户可以通过以下方式仅获取源代码:

svnco提交

通过以下步骤提交到代码库:

1. 安装subversion配置文件,请看后面备注。

2. 注册获取提交权限。

3. 将库切换到”https”协议,例如:

[rootofcheckout]%svnswitch 

库结构

  branches/

  spike/

  tags/

  trunk/

 branches包含以前所有稳定的开发分支,,,etc…

 spike包含实验版本和原型

 tags包含以前所有释放版本

 trunk为当前开发分支。

分支结构

每个开发分支都有如下所示的结构:

  doc/

  src/

  data/

l doc包含用户和开发人员向导的源文件

l src包含Geoserver本身的Java源码

l data包含多种GeoServer的数据目录

 三.快速入门

本章介绍快速搭建、运行GeoServer开发环境具体步骤。

我们假定您已经安装好所有必须的工具(内容见第二章)。

注:

本章的上的是为了尽快的让开发者搭建和运行GeoServer。

对于一些更加深入的介绍请见Maven指南和Eclipse指南。

取出源代码

由Maven构建

由Maven生成Eclipse工程文件

导入模块进Eclipse

在Eclipse里运行GeoServer

访问GeoServer首页

取出源代码由subversion库中取出源代码。

选取trunk作为最新开发源码,或者那些基本不可能经常更新的版本的稳定分支。

要么是:

svn co  geoserver-trunk或者(稳定的分支

svn co  在这页示例里面,我们假定你取出源码到一个名为geoserver的目录,不过,最好还是把名字取得更详细一点为好。

由Maven构建修改目录到源树的根,执行以下maven构建命令:

cd geoserver/srcmvn clean install成功构建后会产生类似于以下的输出:

[INFO]

[INFO]

[INFO] ------------------------------------------------------------------------

[INFO] Reactor Summary:

[INFO] ------------------------------------------------------------------------

[INFO] GeoServer ............................................. SUCCESS []

[INFO] GeoServer Maven Plugins ............................... SUCCESS []

[INFO] Configuration Deployment PlugIn ....................... SUCCESS []

[INFO] GeoServer Maven Archetypes ............................ SUCCESS []

[INFO] GeoServer WFS Output Format Archetype ................. SUCCESS []

[INFO] Core Platform Module .................................. SUCCESS []

[INFO] Data Module ........................................... SUCCESS []

[INFO] Open Web Service Module ............................... SUCCESS []

[INFO] Main Module ........................................... SUCCESS []

[INFO] Web Coverage Service Module ........................... SUCCESS []

[INFO] Web Coverage Service  Module ..................... SUCCESS []

[INFO] Validation Module ..................................... SUCCESS []

[INFO] Web Feature Service Module ............................ SUCCESS []

[INFO] Web Feature Service Module ............................ SUCCESS []

[INFO] Web Map Service Module ................................ SUCCESS []

[INFO] Geoserver REST Support Code ........................... SUCCESS []

[INFO] GeoWebCache (GWC) Module .............................. SUCCESS []

[INFO] Web Application Module ................................ SUCCESS []

[INFO] Community Space ....................................... SUCCESS []

[INFO] GeoServer Extensions .................................. SUCCESS []

[INFO] ------------------------------------------------------------------------

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESSFUL

[INFO] ------------------------------------------------------------------------

由Maven生成Eclipse工程文件生成Eclipse使用的.project文件和.classpath文件:

mvn eclipse:

eclipse导入模块进Eclipse1.

启动运行Eclipse集成开发环境

2.

打开Eclipse首选项Preferences

3.

依次点击进入:

Java,BuildPath,Classpath Variables,点击New

 

 

4.

创建类路径变量名称”M2_REPO”,并且设置它的值为本地Maven库的位置,点击OK。

 

5.

单击OK以应用新的Eclipse首选项。

6.

在包浏览Package Explorer右键并单击导入Import…

 

7.

选择

已有工程导入工作区 Existing Projects into Workspace,单击下一步:

 

8.

进入geoserver/src目录

9.

确保所有模块都被选取,单击完成Finish

 

在Eclipse中运行GeoServer1.

在包浏览Package Explorer中选择web-app模块(或更早版本是web)

2.

点击进入包(或更早版本是)

3.

在Start类上右键,单击Run as, Java Application

 

访问GeoServer首页

几秒后,就可通过

默认的用户admin的密码是geoserver

 四.Maven指南

本章是使用Maven构建GeoServer的参考。

安装Maven见工具(第二章)

运行MavenMaven提供了从模块编译到生成测试覆盖报告的多种命令。

大部分maven命令可在源树的根运行,或者某个特模块。

注:

在准备由源树的根运行maven命令时,请记住要将取出的根目录变换到src目录。

在由源树的根运行一个命令时,或者从包含其它模块的目录时,命令将会为所有模块运行。

当从单个模块运行命令时,它只为这个模块运行。

构建GeoServer最常用的命令是安装命令:

mvn clean install虽然clean命令不是必须的,但我们还是推荐用上。

上面的命令做了以下的事:

编译源代码

运行单元测试

安装成果到本地Maven库

跳过测试通常在构建时跳过单元测试很有用处。

在构建命令中添加-DskipTests标志就可以只编译单元测试而不会运行测试。

mvn -DskipTests clean install离线构建Maven操作会自动下载待构建模块中声明的依赖库。

当处理快照(SNAPSHOT)依赖时,这就有可能会有问题。

Maven每次执行一天内的首次构建时,会尝试更新它的快照依赖。

由于GeoServer依赖GeoTools库的快照版本,这时可能会有问题。

最终导致Maven下载大量GeoTools更新模块并且急剧增加构建时间。

而如果你只是本地构建geotools,这些就显得不必要了。

这时,可以使用“离线”方式运行Maven来改进:

mvn -o clean install在离线模式中,Maven不会下载任何外部依赖,也不会更新任何快照依赖。

构建扩展默认情况下,扩展没有被包含在构建中。

它们得通过Profile来明确增加到构建中。

比如下面的示例就将restconfig扩展添加到构建中:

mvn clean install -P restconfig可以同时添加多个扩展同时使用:

mvn clean install -P restconfig,oracle有个特殊的名为allExtensions的Profile可以添加所有扩展:

mvn clean install -P allExtensionsProfilesEclipseMaven的Eclipse插件用于为模块生成eclipse工程:

mvn eclipse:

eclipse经过此操作后,这些模块就可以导入Eclipse工作区。

该插件有个很有用的功能就是可下载第三方依赖的相关源代码。

这是通过添加downloadSources标志来做的:

mvn -DdownloadSources eclipse:

eclipse警告:

当你首次启用downloadSources标志时,构建过程需要很长时间,因为它要下载GeoServer所依赖的每个库的源代码。

构建Web模块当安装好web模块后,它会通过内建的特殊配置构建。

默认情况下它注是minimal配置。

尽管如此,它也可以通过设置configId和configDirectory标志来定制任意配置。

比如:

mvn clean install -DconfigId=release -DconfigDirectory=/home/jdeolive/上面命令可使用GeoServer上的release配置构建web模块。

configId是包含的配置目录名称,configDirectory是包含的配置目录的父级目录。

configDirectory可以像刚才的一样的绝对路径,也可以是针对web模块自身的相对路径:

mvn clean install -DconfigId=release -DconfigDirectory=../../../data上面的命令与之前有同样的效果,尽管是引用了相对于web模块的路径。

该路径,../../../data,在GeoServer取出(check out)的代码目录结构是标准结构的情况下可用。

使用Jetty运行web模块Maven的jetty插件可用于运行嵌入了jetty容器的基于web的模块:

cd  jetty:

run注:

该命令必须从web模块运行,如果从其它模块运行就会失败。

上面的命令将会使用自带的数据目录来运行GeoServer。

为了使用其它的数据目录可以启用GEOSERVER_DATA_DIR标志:

mvn -DGEOSERVER_DATA_DIR=/path/to/datadir jetty:

run

五.Eclipse指南

本章是使用Eclipse开发GeoServer的参考。

导入模块

运行和调试

设置数据目录

更改Jetty默认端口

配置Jetty中JNDI资源

Eclipse首选项

代码格式化

代码模块

文本编辑器

编译器

导入模块参见Maven指南中的Eclipse部分。

运行和调试运行和调试web-app模块中类。

具体步骤见快速入门。

设置数据目录如果未设置,GeoServer默认会使用web-app模块里的minimal目录作为它的数据目录。

若要修改,执行以下步骤:

1.在Eclipse菜单中打开调试配置(Debug Configurations)

 

2.先把Start配置,选择Argument面板,并且填写-DGEOSERVER_DATA_DIR参数,设置数据目录为绝对路径。

 

更改Jetty默认端口如果未设置,Jetty默认会使用8080端口。

修改请按以下方式:

1.

打开上节所说的Start配置中的Argument面板。

2.

填写参数,设置它到期望的端口

 

配置Jetty的JNDI资源JNDI资源如数据资源可以通过提供系统属性中名为的Jetty服务器配置文件来配置,这个可以在Start配置中的Argument面板上通过VM argument参数指定。

配置文件路径是相对于web-app模块根路径的,该模块是启动配置运行的地方。

例如:

以下的Jetty服务器配置文件就配置了一个JNDI数据源:

jdbc/demo,它是一个Oracle数据库的连接池。

 

  jdbc/demo   

                  

claudius              

s3cr3t             

  20          

10        

  0   

10000      

300000   

300000 

20  

true    

100  

true      

SELECT SYSDATE FROM DUAL                            

 

Jetty没有在GeoServer的WEB-INF/指定reference-ref,因此没必要修改该文件。

GeoServer web-app模块和数据目录没有特定于Jetty的相关信息,因此JNDI资源可以被测试在Jetty下,以便于后面在Tomcat下的开发。

也可以看看GeoServer用户手册中Tomcat中建立JNDI连接池章节。

Eclipse首选项代码格式化1.

下载文件:

2.

转到首选项中Java,Code Style,Formatter,点击Import…

 

3.

选择步骤1中下载的文件。

4.

点击Apply

 

代码模板1.

下载文件:

2.

转到首选项Java,Code Style, Formatter,点击Important…

 

3.

选择步骤1中下载的文件。

4.

点击Apply

文本编辑器1.

转到General,Editors,Text Editors

2.

选中Insert Space for tabs

3.

选中Show print margin,将Print margin column设置为100

4.

选中Show line numbers

5.

选中Show whitespace characters(可选)

注:

显示空白字符可帮助我们发现无意中提交不必要的空格。

 

6.

点击Apply

编译器1.

转到Java, Compiler, Building

2.

扩展开Output folder,并将.svn/加到Filtered resources列表中。

  

3.

点击Apply

六.编程指南OWS服务

本节介绍GeoServer中OWS服务(原文为RESTful服务,可能为笔误)如何工作。

OWS服务概览TBA

实现一个简单的OWS服务本节将通过以下场景来介绍如何给GeoServer创建一个简单的GeoServer OWS服务。

该服务需要提供一个能广告叫做“sayHello”的单一操作的功能(capabilities)文档。

该sayHello操作的结果是一个简单的字符串:

“Hello World”。

内容:

 

实现一个简单的OWS服务

建立

创建插件

试一试

建立创建插件的第一步是为它建立一个maven工程。

该工程我们称为“hello”。

1.

在本地文件系统中任意地方创建一个名为hello的新目录。

2.

给hello目录添加名为文件。

1.

2.

3.

xsi=""  xsi:

schemaLocation=" ">

4.      

-- set parent pom to community pom -->

5.  

6.    

7.    community

8.      

9.   

10.  hello

11.  jar

12.  

13.   Hello World Service Module

14.  

15.    

16.      

17.      main

18.          

19.  

20.   

21.    

22.       opengeo

23.       opengeo

24.           

25.  

26.

复制代码

3.

在hello目录下创建Java源文件目录。

hello/

+ src/

+ main/

+ java/创建插件插件是一系列由spring beans实现的扩展。

实例中扩展兴趣点是一个HelloWorld的POJO。

1.

创建一个名为HelloWorld的类:

1.import     class HelloWorld {   

2.  public HelloWorld() {  

3.   rite( "Hello World".getBytes() );

4.    }

5.  }

复制代码

该服务相对比较简单。

它提供了一个一个名为sayHello的方法,带有HttpServletRequest,HttpServletResponse参数。

该函数的参数列表会由自动发现。

2.

创建文件将上面的类申明为一个bean。

1.

2.

3.

DOCTYPE beans PUBLIC "--->

4.        

5.    

-- used to reference the service in the URL -->

6.        

7.         

-- our actual service POJO defined previously -->

8.        

9.         

-- a version number for this service -->

10.        

11.         

-- a list of functions for this service -->

12.        

13.            

14.                

15.sayHello

16.            

17.        

18.    

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1