更新spring boot jar包中的BOOT-INF/lib目录下的jar包

更新spring-boot jar包中的BOOT-INF/lib目录下的jar包

场景

需要更新lib目录下某个jar包的配置文件

失败的解决方法

用解压软件依次打开spring-boot jar包(设为a.jar)、BOOT-INF/lib目录下的jar包(设为b.jar),然后修改配置文件后保存回a.jar包中,这样操作在通过java -jar运行a.jar包时会导致以下错误:

java.lang.IllegalStateException: Unable to open nested entry b.jar. It has been compressed and nested jar files must be stored without compression

错误原因

保存修改后lib下的b.jar时压缩软件对b.jar进行了压缩,导致b.jar包损坏

解决方案

在a.jar包所在文件夹新建BOOT-INF文件夹,再在BOOT-INF下新建lib文件夹;

复制BOOT-INF/lib下的b.jar包到以上新建的lib文件夹下;

修改b.jar包配置文件并保存;

在a.jar所在的文件夹运行jar -uf0 a.jar BOOT-INF/lib/b.jar命令,即可将修改后b.jar无压缩地添加a.jar的指定路径中。

备注

在jar -uf0命令中,

u 指更新现有的归档文件,

f 指定归档文件名 / 为压缩包指定名字,

0 仅存储,不压缩,只是打包;不使用任何 ZIP 压缩

见 jar命令

相关推荐
riNt PTIP4 小时前
SpringBoot创建动态定时任务的几种方式
java·spring boot·spring
星晨羽6 小时前
西门子机床opc ua协议实现变量读写及NC文件上传下载
java·spring boot
yuweiade6 小时前
Spring Boot 整合 Redis 步骤详解
spring boot·redis·bootstrap
三水不滴7 小时前
SpringAI + SpringDoc + Knife4j 构建企业级智能问卷系统
经验分享·spring boot·笔记·后端·spring
2601_949814698 小时前
Docker部署Spring Boot + Vue项目
vue.js·spring boot·docker
RDCJM11 小时前
Springboot的jak安装与配置教程
java·spring boot·后端
志飞12 小时前
springboot配置可持久化本地缓存ehcache
java·spring boot·缓存·ehcache·ehcache持久化
weixin_7042660513 小时前
Spring Cloud Gateway
spring boot
lclcooky14 小时前
Spring Boot 整合 Keycloak
java·spring boot·后端
William Dawson15 小时前
【一文吃透 Spring Boot 面向切面编程(AOP):实例\+实现\+注意事项】
java·spring boot