被源码编译卡了一个晚上,最后终于成功编译了,菜鸟在此记录一下。
编译环境为 jdk11.0.19+maven-3.9.3+geoserver2.23.1(geoserver直接git clone的最新版)
本人系统环境中有两个版本的jdk,系统环境变量中配置的是jdk11,但是也有jdk1.8
maven安装的是最新版本,根据如下教程安装即可
Maven详细安装教程_maven安装_慕之寒的博客-CSDN博客
运行源码必然得有编译器,本人用的IDEA版本是2022.3.2
方法一:可以在geoserver官网下载
官网地址: https://geoserver.org/release/stable/https://geoserver.org/release/stable/
方法二: 也可以直接从github上拉取最新版本
git clone https://github.com/geoserver/geoserver.git
①先是设置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配置
用idea打开geoserver下的src文件夹(注意别打开外面的,idea会不识别maven项目)
这两步成功都会看到build success
clean相对快一些,十几分钟,install慢点,得大概一个半小时
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,虽然源码启动了,但是没法打包也没有意义。
于是继续查资料修改,在做了两处改动后,成功打包!
把POM中报错的包的版本号改成和55.0(jdk11)(你当前jdk的版本)匹配的版本号
原來的版本是11.0.14
改成9.4.51.v20230217
沒有所有包的截图,不过根据报错的信息,哪个包报错就改哪个包就行。
版本号可以参照如下图中同名的包,因为源码中pom很多,有的pom依赖的是正确的版本,所以项目的ExternalLibraries中两个版本的包都有,只需要把高版本的改成和低版本的一致即可。
修改settings中的如下属性为true即可(跳过maven的test)
修改后效果
然后就完成啦!
小白一个,有什么写的不对的地方欢迎批评指正。也欢迎交流源码编译的其他问题。
还得继续加油呀