jar解压指定文件 jar包存放在哪个目录下



文章插图
jar解压指定文件 jar包存放在哪个目录下

文章插图
问题描述
现在基于springboot的服务器jar包体积越来越大, 当我们在特殊场景下,比如压力测试或者排查问题想临时修改下jar包里的内容验证下, 是不是非要重新打包上传文件呢? 答案当然是否 。
解决方案
1.jar命令解压jar包
##解压servr.jarjar xvf server.jar 2.修改文件
? 修改配置文件
用vi修改对应内容
? 修改class文件
修改class文件,需要重新编译
##在当前server解压的目录下java -cp .:BOOT-INF/classes:BOOT-INF/lib/对应编译用到的jar包 cn/yu/Test.java注意:linux服务器下,如果多个jar包就用冒号分割,Test.java要编译,放到包名目录下 。对了如果没有源代码可以考虑反编译工具 。
3. 重新打包
jar -uvh server.jar BOOT-INF/classes/cn/yu/Test.java注意:jar重新打包,对应的Test.java或者配置文件要按jar原来的路径存放一致 。
最后
【jar解压指定文件 jar包存放在哪个目录下】这时候新的server.jar 就是个有效的jar了 。基于以上的操作,就不用在测试等情况下,每次验证和测试都要重新编译打包再上传发布 。但是一定要测试没问题后,统一版本,切记切记!