源码编译geoserver(idea)

news/2024/12/25 14:31:55/文章来源:https://www.cnblogs.com/lyggqm/p/18630328

官方教程:https://docs.geoserver.org/main/en/developer/quickstart/intellij.html

 

从 git 存储库中检出源代码:

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

列出可用的分支:

% git branch2.21.x2.22.x* main

选择main最新动态:

% git checkout main

或者为不太可能经常更改的版本选择一个稳定的分支:

% git checkout 2.22.x

在这个例子中,我们假设您的源代码位于名为的目录中geoserver,但通常建议使用更具描述性的名称。

将模块导入 IntelliJ 

  1. 运行 IntelliJ IDE

  2. 从初始面板中选择Open

    ../_images/intellij_open.png
  3. 导航到geoserver/src/pom.xml目录并单击OK

    ../_images/intellij_import.png
  4. 当系统询问时单击Open as a Project

    ../_images/intellij_project.png
  5. 或者,根据平台不同,IntelliJ 可能会要求Trust the Project

    ../_images/intellij_project_trust.png
  6. 等待 IntelliJSync依赖项,可以从Build底部的选项卡面板跟踪该过程。

    复制代码

完成 GeoServer 项目配置

  1. 点击File > Project Structure

    ../_images/intellij_project_struct.png
  2. 更新并根据 GeoServer 版本Name选择正确的。SDK

    ../_images/intellij_project_sdk.png
  3. 点击File > Settings

    ../_images/intellij_project_settings.png
  4. ,启用Build, Execution, Deployment > Compiler > Annotation ProcessorsAnnotation processing

    ../_images/intellij_project_settings_annotation_processing.png
  5. 点击Build > Rebuild Project

    ../_images/intellij_project_rebuild.png

从 IntelliJ 运行 GeoServer 

  1. 从项目浏览器中选择web-app模块

  2. 导航到org.geoserver.web

  3. 右键单击Start该类,然后单击Modify Run Configuration...

    查看 ../_images/intellij_run.png
  4. 正确设置非常重要打开对话框后,微调启动环境(包括设置。设置满意后,单击Working directorysrc/web/appEdit ConfigurationsGEOSERVER_DATA_DIRjetty.portOK

    ../_images/intellij_run_config.png
  5. 现在可以通过选择运行 GeoServerRun -> Run 'Start'

    ../_images/intellij_run_start.png

故障排除

  1. 如果出现“无法找到符号类 ASTAxisId”等错误,则表示某些生成的代码未包含在构建中。使用wcs1_1作为工作目录,运行mvn clean install

  2. 如果出现类似 的编译器错误java.lang.NoSuchMethodError,则可能是由于 造成的。此工具默认关闭,但有时在导入 IntelliJ 后会打开。有两种方法可以修复它:Error Prone
    1. 进入 Maven 工具窗口并取消选中errorprone配置文件,然后单击Reimport All Maven Projects

      ../_images/intellij_maven_errorprone.png
    2. 要使用errorprone,特别是执行 QA 检查,请安装插件,重新启动 IDE 并将其设置为项目的默认编译器。请注意,这会减慢构建速度。Error Prone CompilerJavac with error-prone

  3. 如果出现“找不到符号 AbstractUserGroupServiceTest”等错误,请security-tests在安全模块中重建项目。右键单击security-tests项目,然后单击重建。

  4. 在 IntelliJ 的最新版本中,注释处理器已启用。如果因此出现错误,请从编译器设置中取消选中此选项。

    ../_images/intellij_project_settings_annotation_processing.png
  5. 如果 IntelliJ 出现类似以下错误消息,请点击Command line is too long.Shorten the command line and run.

    ../_images/intellij_run_start_error.png

笔记

 

如果有服务器在 localhost:8080 上运行,请查看Eclipse 指南以获取有关更改为其他端口的说明。

使用扩展运行 GeoServer 

上述说明假设运行 GeoServer 时未启用任何扩展。如果需要某些扩展,模块web-app会声明一些配置文件,这些配置文件将在运行时启用特定扩展Start。要启用扩展,请打开工具并选择要启用的配置文件。Maven Projects

../_images/intellij_run_profile.png

可以在 中找到受支持的配置文件的完整列表src/web/app/pom.xml

为了将 GeoServer 执行与新模块同步,请从工具中单击按钮 (1),然后单击(2),完成后单击(3)。Maven ProjectsReload All Maven ProjectBuild the ProjectRun 'Start'

../_images/intellij_run_profile_sync.png

访问 GeoServer 首页

  • 几秒钟后,GeoServer 应该可以通过以下网址访问:http://localhost:8080/geoserver

  • 默认admin密码是geoserver

开发环境

代码格式化

GeoServer 使用 [palantir-java-format]( https://github.com/palantir/palantir-java-format?tab=readme-ov-file#palantir-java-format ),它是 google-java-format AOSP 样式更新的 Lamda 表达式和 120 列的一个分支。

格式化插件嵌入在构建中,并将在每次构建时重新格式化代码,以匹配编码约定。提交之前,请务必在本地构建!

palantir-java-format项目为 IntelliJ提供了一个[插件]( https://plugins.jetbrains.com/plugin/13180-palantir-java-format )。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/858645.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC中CBitmap、CBrush、CFont、CPalette、CPen、CRgn删除GDI对象问题

CBitmap、CBrush、CFont、CPalette、CPen、CRgn均继承自CGdiObject,CDI对象属于CGdiObject,在该类的析构函数中会释放,因此CBitmap、CBrush、CFont、CPalette、CPen、CRgn不必要显式调用DeleteObject()。如果GDI对象在在堆上分配的,则在特定时刻需要删除它,以便执行其析构…

【甲方安全】政府行业+80个威胁检测与安全事件分析场景(2025)

本篇幅详细梳理了 80 个在政企网络安全分析中常见的应用场景,这些场景涵盖了从攻击前兆(如漏洞扫描、情报收集)、攻击过程(如漏洞利用、横向移动)到攻击结果(如数据加密、信息泄露)的各个阶段,旨在协助 SOC 分析师们更好地构建主动防御体系。这些场景并非抽象概念,而是…

想自己做大模型备案的企业看过来【评估测试题+备案源文件】

大模型备案,大模型语料标注规则,大模型安全评估报告文章目录 (一)适用主体 (二)语料安全 (三)模型安全 (四)安全措施要求 (五)词库要求 (六)安全评估要求 (七)附录大模型备案材料源文件 2024年3月1日,我国通过了《生成式人工智能服务安全基本要求》(以下简称…

树洞09

情绪很不好,没人能依靠 钱财多有价,感情胜千金 金玉良缘广,木石前盟稀 愿君有真爱,伴君度此生。

qt读写ini文件

[group1]key1=val1key2=val2sameKay=sameVal [group2]jian1=zhi1jian2=zhi2sameKay=sameZhi比如创建插入一组ini文件,下面是文件写入的代码; Ini文件的写入 ini文件不需要像xml和json一样需要使用QFile打开文件,只需将文件路径及文件格式传入即可(下方代码运行完毕,ini文件…

【科普系列】LIN协议错误类型介绍

引言LIN(Local Interconnect Network)是一种针对汽车电子系统应用的串行通信协议,主要用于汽车电子控制单元(ECU)之间的通信。LIN总线的特点是成本低、速率低、通信距离短、连接节点少,主要用于对带块要求低、实时性要求不高的控制任务,例如车门控制、天窗控制、座椅控制…

详述大模型备案

大模型备案,大模型语料标注规则,大模型安全评估报告,大模型网信办备案大模型备案安全评估流程详细说明,见下图:大模型安全评估流程图 算法备案安全评估流程详细说明,见下图:算法安全评估流程图**大模型备案,大模型算法备案 ** 一、大模型算法备案的强制性 二、生成式人…

精选!J 人电商零售圣诞季,哪 6 款办公软件能激发团队工作学习潜能?

岁末的圣诞节,电商零售行业迎来了最为繁忙的购物狂欢季。在这关键时期,J 人电商团队凭借其果断、有计划、注重秩序的特质,渴望通过高效的团队协作和个人的快速学习成长,在激烈的市场竞争中脱颖而出。而选择合适的办公软件,无疑是实现这一目标的重要利器。接下来,将为您详…

智能网联汽车网络安全测试解决方案

经纬恒润的整车安全团队可协助客户制定系统的网络安全测试解决方案,具体包括:网络安全需求实现测试、网络安全合规性测试和渗透测试。经纬恒润可提供涵盖软件阶段、系统阶段和整车阶段的网络安全测试服务和相关测试工具,以实现网络安全策略的快速验证。概述为了应对日益严峻…

【工作相关】AOSP GSI image下载

android14 gsi下载地址: https://ci.android.com/builds/branches/aosp-android14-gsi/grid?legacy=1android13 gsi下载地址: https://ci.android.com/builds/branches/aosp-android13-gsi/grid?legacy=1

免费学习PostgreSQL,来这里看看PG从小白到专家技术公开课

PostgreSQL数据库是现在非常火的一种数据库技术,尤其是随着国内信创体系的建设,PostgreSQL由于其免费开源+功能强大等优点,在国内变得非常的热门,对于从事数据库相关职业的人员,学习下PostgreSQL技术非常有必要。 想免费学习PostgreSQL技术,可以观看CUUG数据库公开课有诸…