昨天搞了一个geoserver升级9.4.53版本的方法,但是需要修改java的版本,因为jetty官方网站下载的jar包是用jdk11编译的,如果不升级java版本,运行就会报错。
可是现场环境限制比较多,升级了java版本之后有些老版本的程序又没有办法运行了,所以只能考虑自己用jdk8编译jetty了。这里简单说明一下。
1.编译jetty
首先确认本地jdk是1.8版本的,如果本地有多个jdk版本,需要切换到1.8版本。
然后去github上下载jetty9.4.53版本
解压之后从cmd进入项目内部
然后执行maven的编译命令:
mvn install -DskipTests -T 2C
执行完之后就可以在各个分项目的target目录下获取到需要的jar包,将jar包替换到geoserver-bin的lib目录中
2.修改start.jar包内版本配置
这里我们使用原来的start.jar包,但是jar包中关于版本的配置信息还都是老版本的,所以我们需要修改jar包中版本的配置。
我们可以用压缩软件打开start.jar包,总共需要修改四个文件
- \org\eclipse\jetty\start 目录下的build.properties
- \META-INF目录下的MANIFEST.MF文件
- \META-INF\maven\org.eclipse.jetty\jetty-start 下的pom.xml
- \META-INF\maven\org.eclipse.jetty\jetty-start 下的pom.properties
修改完成之后,运行服务,看到服务可以正常运行,问题解决。