更新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命令

相关推荐
骇客野人40 分钟前
SpringBoot + RocketMQ 异步解耦与最终一致性解决方案
spring boot·rocketmq·java-rocketmq
南城以南溫暖如初1474 小时前
树洞交友系统架构设计与匿名聊天实战指南
java·spring boot·mysql·系统架构·vue·mybatis·交友
智码看视界5 小时前
Day60-Serverless:函数计算改写传统Spring Boot
spring boot·云原生·serverless·函数计算·冷启动
QQ_21696290965 小时前
【项目编号:project86564】SpringBoot供应链管理系统:采购、供应商、库存、销售、统计报表一体化实战
java·spring boot·后端
m0_587383005 小时前
课程培训系统开发实战:从技术选型到核心模块设计
java·spring boot·架构·系统架构
suaizai_11 小时前
Fastjson高危漏洞紧急修复指南
spring boot
gugucoding18 小时前
59. 【Java】Spring Boot 入门:第一个 Web 应用
java·开发语言·spring boot
宠友信息21 小时前
内容社区源码开发实践解析,用Spring Boot打造1:1仿小红书源码平台
java·spring boot·redis·websocket·mysql·spring·uni-app
Su米苏21 小时前
Redis高级用法
spring boot·redis
paopaokaka_luck1 天前
基于springboot3+vue3的车间生产管理系统(Echarts图形化分析、BI报表)
java·前端·spring boot·学习·echarts