jar命令更新SpringBoot项目jar包里的补丁文件

2022-09-21 15:49:59 浏览数 (1)

最近在因为项目依赖了太多微服务的包,所以项目经常报错,又因为在联调接口,需要经常打包,所以想直接在springboot项目的一个jar包直接加上自己的补丁,然后重新部署就行,提高效率

使用压缩软件打开jar,然后往里面直接替换class文件,不过启动后,会报错

代码语言:javascript复制
Caused by: java.lang.IllegalStateException: Unable to open nested entry 'BOOT-INF/lib/**.jar'. 
It has been compressed and nested jar files must be stored without compression.
 Please check the mechanism used to create your executable jar file

所以解决方法是,先使用命令解压jar包:

代码语言:javascript复制
jar -xvf .test-protal.jar

解压后会生成一个文件夹,然后将补丁直接放在文件夹里,再使用命令

代码语言:javascript复制
jar -cfM0 test-portal.jar ./

命令执行成功后,会重新生成一个新的jar包

jar

0 人点赞