1.环境:
jdk:1.8
springboot内嵌tomcat容器:8.5.56
2.准备工作:
2.1 验证比对得出结论,8到9之间都只需替换4个包
2.2 注意tomcat与jdk的版本对照
如果项目使用的是jdk1.8,理论上来说tomcat可以升到tomcat9的(当然升级完需要充分验证下,是否有潜在的问题),我这边就先升级到8.5.100。
2.3 需要获取4个tomcat内嵌jar包
包名 | 官方maven链接地址 |
tomcat-embed-core | tomcat-embed-core |
tomcat-embed-el | tomcat-embed-el |
tomcat-embed-websocket | tomcat-embed-websocket |
tomcat-annotations-api | tomcat-annotations-api |
操作如下这里全部下载8.5.100,已下载tomcat-embed-core为例
3.操作替换包重新打jar包
3.1 使用命令解压springboot的jar包
jar -xvf springboot.jar (ps:x:表示解压、v:查看执行过程、f:指定文件)
以上命令会在执行的当前路径产生3个文件夹BOOT-INF、META-INF、org
3.2 替换项目中tomcat的jar包并重新打jar包
3.2.1 进入到BOOT-INF\lib文件夹下找到tomcat的那四个包删除掉再放入新的tomcat包
3.2.2 如下在地址栏输入cmd再回车进入命令行窗口
3.2.3 执行打jar包命令
jar -cvfM0 test.jar BOOT-INF/ META-INF/ org/
c:表示创建jar包 v:输出创建过程 f:指定jar包名称 M:不生成MANIFEST.MF 0:不压缩
最终成品如下: