如何修改springboot打包后的jar
1、背景
已经存在的springboot jar需要手动升级其中的一个依赖jar
2、压缩软件方式
- 用压缩软件打开springboot jar
- 删除旧的jar
- 将新的jar添加到jar中
实际使用过程中发现,用7z是ok的。winRAR会报一下的错误
Caused by: java.lang.IllegalStateException: Unable to open nested entry 'BOOT-INF/lib/epaas-seal-physical-sgt-server-1.0-SNAPSHOT.jar'. It has been compressed and nested jar files must be stored without compression. Please check the mechanism used to crea
2.1、原因
替换或者导入jar包时,jar包被自动压缩,springboot规定嵌套的jar包不能在被压缩的情况下存储。
2.2、解决办法
使用jar命令解压jar包,在压缩包外重新替换jar包,在进行压缩。
3、用jdk命令
3.1、解压jar包 jar -xvf *.jar
[yepikai@vyz-xiangcheng4 jars]$ jar -xvf material-center.jar
created: META-INF/
inflated: META-INF/MANIFEST.MF
created: org/
created: org/springframework/
created: org/springframework/boot/
created: org/springframework/boot/loader/
created: org/springframework/boot/loader/data/
3.2、替换jar包
或者先用软件替换,不用再替换,我这里是7z替换好后解压的。
3.3、重新压缩jar
jar -cfM0 name.jar BOOT-INF/ META-INF/ org/
正文到此结束