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

相关推荐
萝卜白菜。4 小时前
TongWeb7.0相同的类指明加载顺序
开发语言·python·pycharm
wb043072014 小时前
使用 Java 开发 MCP 服务并发布到 Maven 中央仓库完整指南
java·开发语言·spring boot·ai·maven
nbwenren5 小时前
Springboot中SLF4J详解
java·spring boot·后端
helx826 小时前
SpringBoot中自定义Starter
java·spring boot·后端
rleS IONS6 小时前
SpringBoot获取bean的几种方式
java·spring boot·后端
Hello eveybody7 小时前
PyCharm性能调优避坑录
python·pycharm
R***z1017 小时前
Spring Boot 整合 MyBatis 与 PostgreSQL 实战指南
spring boot·postgresql·mybatis
赵丙双8 小时前
spring boot AutoConfiguration.replacements 文件的作用
java·spring boot
计算机学姐9 小时前
基于SpringBoot的兴趣家教平台系统
java·spring boot·后端·spring·信息可视化·tomcat·intellij-idea
bearpping10 小时前
Spring Boot + Vue 全栈开发实战指南
vue.js·spring boot·后端