原创

如何修改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/
正文到此结束
本文目录