第一思路我想到的是arthas有没有这样的功能呢,很遗憾,git上也有人问这样的问题,可惜的是不支持。
所以回到传统tomcat部署的思路,只能使用解压、重新压缩命令来调整这个
登录服务器、或者docker容器里面执行,因为我这里知道项目的jar目录在data文件夹下,所以使用了data的目录
find data -name "项目.jar"
找到项目的jar包后,我们使用几个命令来操作
先解压项目jar包
jar -xvf 项目.jar
解压后,有BOOT-INF META-INF org三个目录
因为我这里是模块化项目,修改的是嵌套打包lib目录下的jar包里面的内容
所以我们进入BOOT-INF/lib目录里面
再次解压需要真正修改的jar包内容,找到修改的文件添加修改的内容
jar -xvf 需要真正解压的.jar
为了安全起见,我们将原来的jar 修改为新的名字
mv old-SNAPSHOT.jar new-1.0-SNAPSHOT.jar
将新解压后的文件夹, 重新压缩原来jar的名字
jar -cvfM0 old.jar BOOT-INF/ META-INF/ org
执行完成后,我们重新回到外面(项目的jar)的目录,重新压缩项目jar文件
当然这里也为了安全起见,将原来项目jar 修改为新的名字
mv 项目.jar 新项目.jar
将新解压后的文件夹, 重新压缩原来项目jar的名字
jar -cvfM0 项目.jar BOOT-INF/ META-INF/ org
执行命令linux控制台如果没有错误的话,基本就是操作正常的
当然,这里强调的是 也是我目前还没有找到好的办法,需要重启jar
重启完jar之后,我们访问下页面通过f12验证下前端js的源码,说明已经生效了