在不修改代码的情况下,直接临时修改现有jar包中的第三方jar
如:xxx.jar(本业务系统,fat打包方式,所有依赖都打包到一个jar内)
升级其依赖的tomcat相关jar包版本的场景
1)查看xxx.jar内部的tomcat相关jar包的版本
jar tf xxx.jar | grep tomcat
2)准备9.0.58的tomcat jar 并修改为 9.0.35 ,按目录层级放好:
{home_dir}/xxx.jar
{home_dir}/BOOT-INF/lib/tomcat-embed-core-9.0.35.jar (由9.0.58修改文件名为9.0.35)
{home_dir}/BOOT-INF/lib/tomcat-embed-el-9.0.35.jar (由9.0.58修改文件名为9.0.35)
{home_dir}/BOOT-INF/lib/tomcat-embed-websocket-9.0.35.jar (由9.0.58修改文件名为9.0.35)
3)将准备的新jar更新到xxx.jar
jar uf0 xxx.jar BOOT-INF/lib/tomcat-embed-core-9.0.35.jar
jar uf0 xxx.jar BOOT-INF/lib/tomcat-embed-el-9.0.35.jar
jar uf0 xxx.jar BOOT-INF/lib/tomcat-embed-websocket-9.0.35.jar
ps:uf0 为跟下内部jar,内部jar不进行压缩。