geoServer2.23.1源码编译

本文是一位新手开发者记录的编译GeoServer2.23.1源码的过程,包括环境配置(jdk11.0.19,maven-3.9.3),源码下载,IDEA设置,遇到的错误及解决方法,如忽略某些错误,调整POM文件中依赖版本等。虽然遇到了install失败,但最终成功打包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

被源码编译卡了一个晚上,最后终于成功编译了,菜鸟在此记录一下。

编译环境为 jdk11.0.19+maven-3.9.3+geoserver2.23.1(geoserver直接git clone的最新版)

一、环境准备

1 jdk

本人系统环境中有两个版本的jdk,系统环境变量中配置的是jdk11,但是也有jdk1.8

2 maven

maven安装的是最新版本,根据如下教程安装即可

Maven详细安装教程_maven安装_慕之寒的博客-优快云博客

3 IDEA

运行源码必然得有编译器,本人用的IDEA版本是2022.3.2

二、geoserver源码下载

方法一:可以在geoserver官网下载

官网地址: https://geoserver.org/release/stable/https://geoserver.org/release/stable/

方法二: 也可以直接从github上拉取最新版本

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

三、geoserver编译

1.idea环境配置(这点很关键,也可参考其他文章)

①先是设置File->Settings中的maven地址和java编译版本

②设置项目结构File->Project Structure

 

Project Settings->Project中设置java版本,没有合适版本的可以点击Add jdk,然后选择jdk安装路径

Project Settings->Modules设置每个模块的Language level(就是jdk版本的意思吧?),前几次编译源码的时候前面几步配置不对,然后到这里手动一个一个设置的太麻烦了,最后还失败了。所以这里检查一下应该就可以,轻易不要手动一个个改

 

在Project中添加了jdk版本后,应该可以在SDKs这里看到对应jdk的版本号以及具体信息,显示正常的话也不需要改动什么

 ③编辑run/debug配置

2.用idea右边栏的maven工具开始编译

用idea打开geoserver下的src文件夹(注意别打开外面的,idea会不识别maven项目)

这两步成功都会看到build success

clean相对快一些,十几分钟,install慢点,得大概一个半小时

3. success后点击maven窗口左上角的同步窗口(有的时候编译器会自动同步,不过自己点一下也可以,同步后包里面的一些波浪线就会消失掉了。强迫症狂喜!!)

问题记录

1.install过程中会碰到这种错误,可以忽略,他是删除文件失败,对于其他暂时没发现影响。

 2.类文件具有错误的版本55.0应为52.0。

因为最开始jdk用的1.8,后来发现这个错误改成jdk11后重新下载源码重新编译成功的。

3.install时候发现了这个错误不知道有没有影响

4.在单位局域网里还是install失败。。。。不知道是不是网络原因,再研究研究吧。

5.虽然install失败但是成功debug启动了。。。

就是多做了如图所示的修改点击蓝色的字shorten the command line and rerun

【最后修改】

因为没有办法install和package,虽然源码启动了,但是没法打包也没有意义。

于是继续查资料修改,在做了两处改动后,成功打包!

 一、类文件具有错误的版本 61.0, 应为 55.0

把POM中报错的包的版本号改成和55.0(jdk11)(你当前jdk的版本)匹配的版本号

原來的版本是11.0.14

改成9.4.51.v20230217

 

沒有所有包的截图,不过根据报错的信息,哪个包报错就改哪个包就行。

版本号可以参照如下图中同名的包,因为源码中pom很多,有的pom依赖的是正确的版本,所以项目的ExternalLibraries中两个版本的包都有,只需要把高版本的改成和低版本的一致即可。

 

 二、报错There are test failures

 修改settings中的如下属性为true即可(跳过maven的test)

修改后效果

 

然后就完成啦!

 

 小白一个,有什么写的不对的地方欢迎批评指正。也欢迎交流源码编译的其他问题。

还得继续加油呀

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值