官方教程: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
-
运行 IntelliJ IDE
-
从初始面板中选择
Open
。 -
导航到
geoserver/src/pom.xml
目录并单击OK
。 -
当系统询问时单击。
Open as a Project
-
或者,根据平台不同,IntelliJ 可能会要求。
Trust the Project
-
等待 IntelliJ
Sync
依赖项,可以从Build
底部的选项卡面板跟踪该过程。
完成 GeoServer 项目配置
-
点击。
File > Project Structure
-
更新并根据 GeoServer 版本
Name
选择正确的。SDK
-
点击。
File > Settings
-
从,启用。
Build, Execution, Deployment > Compiler > Annotation Processors
Annotation processing
-
点击。
Build > Rebuild Project
从 IntelliJ 运行 GeoServer
-
从项目浏览器中选择
web-app
模块 -
导航到
org.geoserver.web
包 -
右键单击
Start
该类,然后单击Modify Run Configuration...
-
正确设置为非常重要。打开对话框后,微调启动环境(包括设置或)。设置满意后,单击。
Working directory
src/web/app
Edit Configurations
GEOSERVER_DATA_DIR
jetty.port
OK
-
现在可以通过选择运行 GeoServer
Run -> Run 'Start'
故障排除
-
如果出现“无法找到符号类 ASTAxisId”等错误,则表示某些生成的代码未包含在构建中。使用
wcs1_1
作为工作目录,运行。mvn clean install
- 如果出现类似 的编译器错误
java.lang.NoSuchMethodError
,则可能是由于 造成的。此工具默认关闭,但有时在导入 IntelliJ 后会打开。有两种方法可以修复它:Error Prone
-
进入 Maven 工具窗口并取消选中
errorprone
配置文件,然后单击:Reimport All Maven Projects
-
要使用
errorprone
,特别是执行 QA 检查,请安装插件,重新启动 IDE 并将其设置为项目的默认编译器。请注意,这会减慢构建速度。Error Prone Compiler
Javac with error-prone
-
- 如果出现类似 的编译器错误
-
如果出现“找不到符号 AbstractUserGroupServiceTest”等错误,请
security-tests
在安全模块中重建项目。右键单击security-tests
项目,然后单击重建。 -
在 IntelliJ 的最新版本中,注释处理器已启用。如果因此出现错误,请从编译器设置中取消选中此选项。
-
如果 IntelliJ 出现类似以下错误消息,请点击
Command line is too long.
Shorten the command line and run.
笔记
如果有服务器在 localhost:8080 上运行,请查看Eclipse 指南以获取有关更改为其他端口的说明。
使用扩展运行 GeoServer
上述说明假设运行 GeoServer 时未启用任何扩展。如果需要某些扩展,模块web-app
会声明一些配置文件,这些配置文件将在运行时启用特定扩展Start
。要启用扩展,请打开工具并选择要启用的配置文件。Maven Projects
可以在 中找到受支持的配置文件的完整列表src/web/app/pom.xml
。
为了将 GeoServer 执行与新模块同步,请从工具中单击按钮 (1),然后单击(2),完成后单击(3)。Maven Projects
Reload All Maven Project
Build the Project
Run 'Start'
访问 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 )。