spring boot jar文件升级 配置文件不变的处理方法

if exist local (rd /S/Q local)
md local
move abc.jar   local\abc.jar
cd local
jar -xf abc.jar
cd ..
move local\abc.jar  abc.jar
move server.jar   local\server.jar
cd local
jar -xf server.jar
cd ..
move local\server.jar  server.jar
cd local
jar -cfM0 abc.jar  *
cd ..
move local\abc.jar  abc.jar
java -jar abc.jar

注释:abc.jar为本地文件  server.jar为从服务端下载来的文件 内部不包含配置文件

先把abc.jar复制到 local 目录  进行解压  再把server.jar 复制到 local 目录进行解压  这样 local 目录是新的程序文件和不变的

配置文件  执行jar -cfM0 abc.jar * 进行打包 

参考 https://www.cnblogs.com/dayou123123/p/6845432.html#_label2

jar重新打包

后来对于最先想到的方法又在网上查了下,也有对应的解决办法,但是会有两个问题要处理

  1. 阻止jar打包时重新生成清单列表, -M 不配置配置清单,这样还可以使用maven生成的配置清单也就是MANIFEST.MF
jar -cfM xxx.jar *
  1. jar打包时不进行压缩 -0
jar -cfM0 xxx *

压缩的话会有错误,如下:(已被压缩,嵌套的jar文件无需被压缩)

Unable to open nested entry 'BOOT-INF/lib/cache-api-0.4.jar'.
It has been compressed and nested jar files must be stored without compression.

最终命令:jar -cfM0 xxx.jar *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值