一、编译环境准备
记录下Geoserver源码编译部署整个流程,编译环境使用的IDEA2020.1.1+maven3.8.2+JDK1.8,之前使用JDK14在编译时会出现问题。geoserver源代码建议从github上直接搜索下载,第一次从官网上下载的源代码没有编译成功。下面简单介绍下相关环境配置。
1、IDEA2020.1.1
IDEA2020.1.1安装教程可参考本站相关教程
2、maven3.8.2
从Maven官网上下载。点击左侧列表中download,选择 apache-maven-3.8.2-bin.zip下载后解压(记录时版本已经到了3.8.3)
配置环境变量:
- M2_HOME:E:\apache-maven-3.8.2-bin\apache-maven-3.8.2\bin(maven目录下的bin目录)
- MAVEN_HOME:E:\apache-maven-3.8.2-bin\apache-maven-3.8.2(maven目录)
- Path:%MAVEN_HOME%\bin
配置阿里云镜像:
打开conf文件夹下的settings.xml文件,在mirrors部分添加如下代码:
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
建立本地仓库:
在根目录下新建本地仓库目录文件夹maven-repo
打开conf文件夹下的settings.xml文件,添加如下代码:
<localRepository>E:\apache-maven-3.8.2-bin\apache-maven-3.8.2\maven-repo</localRepository>
配置完成后,在IDEA中创建maven项目后会自动在maven仓库下拉取jar包。
3、JDK1.8
JDK1.8安装可参考本站相关教程
二、源代码编译及项目启动
1、项目构建
- 进入geoserver源代码文件夹,进入.\geoserver-2.14.0\src目录下,输入cmd进入命令行。
- 在命令行下使用maven命令进行项目构建,下载相关依赖文件,注意此处使用跳过测试功能,否则会报错。
mvn -DskipTests install
- 等待一段时间后出现BUILD SUCCESS说明项目构建成功。
- 编译时可能会出现FileSystemResourceStore.java文件异常报错,找到该文件对应路径.\src\platform\src\main\java\org\geoserver\platform\resource可以用NotePad直接打开,将第240行报错的代码段super.finalize();注释后重新编译。
2、项目配置
- 使用IDEA打开geoserver源码,点击File->New->Project from Existing Sources
- 选择src目录下的pom.xml配置文件进行项目导入
- 项目导入完成后点击Setting进行项目配置,将编译器更改为Eclipse
- maven配置,分别设置maven所在路径,maven的setting.xml配置文件路径,maven的本地仓库路径
- 最后点击右侧maven,再点击一次刷新,否则有可能会报错
3、项目启动
- 点击启动项配置
- 启动项配置,Main class配置为org.geoserver.web.Start,VM options配置用于指定geoserver数据目录,添加-DGEOSERVER_DATA_DIR=F:\geoserver-2.14.0\geoserver-2.14.0\data,工作路径Working directory设置为F:\geoserver-2.14.0\geoserver-2.14.0\src\web\app,启动项模块为gs-web-app,JRE为安装的JRE路径。
- 运行项目,打开web模块中的Start类,点击运行
- 运行可能出现Command line is too long错误
- 点开项目文件夹里的.idea
- 在标签下添加此标签component name="PropertiesComponent"内加入如下标签
<property name="dynamic.classpath" value="true" />
- 出现如下图所示,说明运行成功
- 在浏览器中输入http://localhost:8080/geoserver/web/就可以实现应用访问
- 访问后若出现页面404报错,在官网下载geoserver的安装包进行解压
- 解压后的文件夹中有data_dir文件夹,将其拷入源码的F:\geoserver-2.14.0\geoserver-2.14.0\data路径下
- 启动项更改VM option配置为-DGEOSERVER_DATA_DIR=F:\geoserver-2.14.0\geoserver-2.14.0\data\data_dir
- 至此完成geoserver源码的部署