首页 > 其他分享 >GeoServer开发环境搭建

GeoServer开发环境搭建

时间:2024-05-04 13:55:06浏览次数:23  
标签:Project git IntelliJ GeoServer Maven 开发 geoserver 搭建

前言

本文用于记录GeoServer开发环境的搭建过程

release

通过GeoServer发布计划可以看到,在2.23.x版本开始,会移除对jdk1.8的支持。那么当前我们会选择2.22.x版本进行研究

环境

  • JAVA:1.8或11
  • Maven
  • Git

Action

获取源码


git clone git://github.com/geoserver/geoserver.git geoserver

# or

git clone https://github.com/geoserver/geoserver.git geoserver

代码库结构

Each branch has the following structure:

  • build - release and continuous integration scripts
  • doc - sources for the user and developer guides
  • src - java sources for GeoServer itself
  • data - a variety of GeoServer data directories / configurations

切换到2.22.x分支


# 查看分支
git branch -av

# 切换分支
git checkout -b 2.22.x origin/2.22.x

002-002

002-003

Import modules into IntelliJ

  1. Run the IntelliJ IDE

  2. From the initial panel select Open.

002-004

  1. Navigate to the geoserver/src/pom.xml directory and click OK.

002-005

  1. When asked click on Open as a Project.

002-006

  1. Optionally, depending on which platform, IntelliJ may ask to Trust the Project.

002-007

  1. Wait for IntelliJ to Sync the dependencies, it’s possible to follow the process from the Build tab panel on the bottom.

002-008

Finalize the GeoServer Project configuration

  1. Click File > Project Structure.

002-009

  1. Update the Name and select the correct SDK accordingly to the GeoServer version.

002-010

  1. Click File > Settings.

002-011

  1. From Build, Execution, Deployment > Compiler > Annotation Processors, enable the Annotation processing.

002-012

  1. Click Build > Rebuild Project.

002-013

Run GeoServer from IntelliJ

  1. From the Project browser select the web-app module
  2. Navigate to the org.geoserver.web package
  3. Right-click the Start class and click to Modify Run Configuration...

如果没有该选项,那么直接去Edit Configurations处创建一个即可,Add Configuration,选择Application

002-014

  1. It is important to correctly set the Working directory to src/web/app. While having the Edit Configurations dialog open, fine tune the launch environment (including setting a GEOSERVER_DATA_DIR or the jetty.port). When settings are satisfactory, click OK.

002-015

002-016

  1. It’s possible now to run GeoServer by selecting Run -> Run 'Start'

002-017

第一次启动比较慢

002-018

Access GeoServer front page

FAQ

依赖下载失败或过慢(该条仅供参考)

使用阿里云Maven镜像加速依赖下载,可以参考阿里云Maven向导进行设置【有代理应该就不需要了】

maven配置文件优先级,maven工具所在的conf配置 > 外部化配置

编译提示Node不存在(wcs1_1)

002-019

网络上有一些提示是:手动添加Node的依赖。但是我认为应该不需要手动设置才是,因为从官网的maven quick start中,并未使用任何的编辑器,直接命令行搞定。


# skip unit tests, skip spotless(Spotless is used as a fast way to check that the google-java-format is being applied to the codebase.)

mvn clean install -DskipTests -Dspotless.apply.skip=true

# 不想install, package也可以

mvn clean package -DskipTests -Dspotless.apply.skip=true

这个时候可以看到,Node这个类存在于编译后的代码中

002-020

通过跟踪构建过程可以看到,是由javacc在编译过程中生成的(根据rangeset.jjt文件,知识盲区了)

002-021

其实在官方文档中已经提到了如何处理该问题的,参见Troubleshooting#1,就是需要先完成wcs1_1模块的编译构建。

我就不管那么多了,直接把所有的都构建了

Maven 使用

参见:GeoServer Maven Guide

参考

标签:Project,git,IntelliJ,GeoServer,Maven,开发,geoserver,搭建
From: https://www.cnblogs.com/threadj/p/18172245

相关文章

  • 拂衣天气(微天气)-开发环境准备
    前言本文用于说明本次开发所使用的环境,以及环境的搭建过程。操作系统Windows10专业版其实我当时使用的操作系统的ArchLinux,开发完成后才又重装回Windows。现在又用回了[email protected]服务端服务端使用Java语言进行开发,项目构建使用Maven(Grad......
  • FFmpeg开发笔记(十八)FFmpeg兼容各种音频格式的播放
    ​FFmpeg结合SDL可以播放音频文件,也能播放视频文件中的音频流,《FFmpeg开发实战:从零基础到短视频上线》一书第10章的示例程序playaudio.c支持播放mp3和aac两种格式的音频,却不支持播放其他格式的音频。因为mp3和aac两个格式拥有标准的规范定义,比如mp3规定每帧音频固定包含1152个样......
  • 阿里云ECS服务器快速搭建企业建站环境
    截止目前,wdCP是小编用过最适合菜鸟的一套通过WEB控制和管理服务器的linux服务器管理系统以及虚拟主机管理系统。安装步骤如下:第一步:远程下载安装压缩包wgethttp://dl.wdlinux.cn/files/lanmp_v3.1.tar.gz第二步:解压缩包tarzxvflanmp_v3.1.tar.gz第三步:执行安装shlanmp.......
  • [附视频教程]DNF_地下城与勇士_单机+联网 搭建架设教程
    搭建源码文件+视频教程联网:https://githubs.xyz/boot/?app=14单机:https://githubs.xyz/boot/?app=15注意:请不要将游戏进行商业化,一切后果概不负责。仅供单机,好友之间进行娱乐!!注意:请不要将游戏进行商业化,一切后果概不负责。仅供单机,好友之间进行娱乐!!注意:请不要将游戏进行商......
  • C# 搭建一个 基于ISqlSugarClient 三层架构框架 涉及数据库仓储 然后中间又有业务逻辑
    要在C#中搭建基于ISqlSugarClient的三层架构框架,你需要定义数据访问层(DAL)、业务逻辑层(BLL)和表现层(UI)。下面是一个完整的例子,涉及数据库仓储、业务逻辑层,以及依赖注入。这个例子基于ASP.NETCoreMVC构建,使用ISqlSugarClient来处理数据访问。这个例子中,我们将使用User作为一个简单......
  • im即时通讯源码/仿微信app源码+php即时通讯源码带红包+客服+禁言等系统php+uniapp开发
    即时通讯(IM)系统是现代互联网应用中不可或缺的一部分,它允许用户进行实时的文本、语音、视频交流。随着技术的发展,IM系统的功能越来越丰富,如红包、客服、禁言等。本文将探讨如何使用PHP语言开发一个功能完备的即时通讯系统,包括源码解析、系统架构、关键功能实现等。仓库源码:ym.fz......
  • SpringBoot3.1.5对应新版本SpringCloud开发(1)-Eureka注册中心
    服务的提供者和消费者服务之间可以通过Spring提供的RestTemplate来进行http请求去请求另一个Springboot的项目,这就叫做服务间的远程调用。当一个服务通过远程调用去调用另一个服务时,被调用的服务就叫做服务的提供者,调用服务的服务就叫做服务的消费者。一个服务可以既是服务的提......
  • 【网络知识系列】一个详细完整的公司局域网搭建案例
    什么是局域网❓所谓局域网(LocalAreaNetwork,简称LAN),就是用于将有限范围内(例如一个实验室、一层办公楼或者校园)的各种计算机、终端与外部设备互联成网。那公司局域网怎么建立❓今天就先来了解下不同规模企业网络组建方式,以及公司局域网搭建,要怎么搞❓一、不同规模的企业,怎么......
  • 搭建MongoDB分片集群
    目录一、什么是分片二、分片集群1、组件构成2、分片集群内各组件间交互三、数据如何切分四、分片策略1、哈希分片2、范围分片五、分片集群架构六、搭建分片集群1、涉及主机2、所有主机安装MongoDB3、分片节点副本集的创建3.1、第一套副本集shard13.1.1、准备存放数据和日志的目录3......
  • .Net 8.0 下的新RPC,IceRPC之使用Dev Containers进行 .NET QUIC 精简开发
    作者引言很高兴啊,我们来到了IceRPC之使用DevContainers进行.NETQUIC精简开发,主要是一篇指引,如何使用开发容器做为开发环境,进行开发IceRPC,可适用于任务应用的开发使用DevContainers进行.NETQUIC精简开发主要是引导大家,如何使用开发容器DevelopmentContainers,进行......