# GeoServer源码学习-环境搭建

# 介绍

GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。GeoServer是社区开源项目,可以直接通过社区网站下载,详细请查看本文档末的资源表。

兼容 WMS 和 WFS 特性;支持 PostgreSQL、 Shapefile 、 ArcSDE 、 Oracle 、 VPF (opens new window) 、 MySQL 、 MapInfo ;支持上百种投影;能够将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;能够运行在任何基于 J2EE/Servlet 容器之上;嵌入 MapBuilder 支持 AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性。

geoserver官网 (opens new window)

可以从官网上下载打包编译好的安装包,安装教程可以参考我之前的教程 (opens new window)

这里我们要学习源码,所以使用源码来启动服务

# 源码环境配置

源码我们可以去github上去下载代码仓库地址 (opens new window)

image-20220514153432637

这里我选用2.19.6版本的源码

image-20220514153502598

我的电脑为mac系统,windows电脑步骤基本差不多

# 安装maven

geoserver为maven项目,所以我们需要安装maven,安装教程可以参考我之前的教程 (opens new window)

使用mvn -v查看maven版本号

image-20220514154400976

# 编译项目

解压项目后,文件夹如下所示:

image-20220514155322369

  cd geoserver
  cd src
  mvn clean install
  # 如果执行过程中测试方法报错,就跳过测试
  # 跳过测试单元进行构建命令
  mvn -DskipTests clean install                   
1
2
3
4
5
6

参考命令

mvn -DskipTests clean install                   //跳过测试单元进行构建命令
mvn -DskipTests clean install -P allExtensions  //将allExtensions扩展添加到构建种
mvn clean install -P restconfig                 //将restconfig扩展添加到构建中
//mvn clean install -P restconfig,oracle            //可以同时启用多个扩展名
mvn -DskipTests clean install -P platform
mvn -DskipTests clean install -P web
1
2
3
4
5
6

开始编译

image-20220514160240185

编译完成后如下所示

image-20220514161334442

在下载依赖时很可能会报错,大概率是jar包下载不到,这个时候就需要删除maven目录下的文件夹,重新去download,或者指定国内的仓库去下载。

然后重新执行命令,知道build success。

# 启动项目

  cd web/app
  mvn jetty:run
1
2

image-20220514163225612

访问:http://localhost:8080/geoserver/web/?1;页面效果如下

image-20220514163342637

至此项目已经可以使用了

# 使用开发工具

我使用的是idea开发工具,接下来介绍如何在idea中运行geoserver项目

# 打开项目

打开项目如下图所示:

image-20220514164812068

# 配置启动

image-20220514165108306

选择Application

image-20220514165148880

配置Application效果如下

image-20220514170141380

配置Java Compiler

image-20220514170407727

选择compiler-》Eclipse

image-20220514165930208

启动成功后如下所示

image-20220514170516641

页面查看

image-20220514170618063

上次更新时间: 2022年5月20日星期五上午11点16分