解决 Failed to get nested archive for entry BOOT-INF/lib/xxx.jar

使用zip工具替换jar包的class类文件是没有问题的,但是当换里面的jar包时就会出现Failed to get nested archive for entry BOOT-INF/lib/xxx.jar异常。解决步骤如下:

1、替换旧包

先解压jar包到本地目录

shell 复制代码
jar -xvf test.jar

得到三个文件夹

  • BOOT-INF
  • META-INF
  • org

而需要替换的api-user-0.0.1.jar包就在BOOT-INF\lib目录下。

此时把新的api-user-0.0.1.jar替换掉原来的包。

2、执行打包命令

随后就可以执行打包命令了

shell 复制代码
jar -uvf0 test.jar BOOT-INF/lib/api-user-0.0.1.jar

看到正在添加: BOOT-INF/lib/api-user-0.0.1.jar(输入 = 24051) (输出 = 24051)(存储了 0%)类似的输出则表示打包成功,之后就可以执行java -jar test.jar命令进行验证了。

  • 注意:
    步骤1解压文件非必须,你可以手动创建相同目录,如BOOT-INF\lib,然后把新包放到里面再进行打包,效果一样。
    如果api-user-0.0.1.jartest.jar同一目录,并且你执行jar -uvf0 test.jar api-user-0.0.1.jar命令,压缩后的api-user-0.0.1.jar的目录是不正确的,没有起到替换的效果,所以一定要保证被替换包的路径。
相关推荐
慕容雪_4 小时前
springboot jar注册windows服务(WinSW版)
windows·spring boot·jar·服务
蜡笔弄丢了小新1 天前
nohup java -jar 文件名
java·python·jar
AscendKing5 天前
centos修改jar下面的doc文件 虽然成功修改 但是不生效需要重启jar
jar·好好学电脑
float_六七6 天前
Java JAR包运行与反编译全攻略
java·开发语言·jar
C++业余爱好者6 天前
Spring Boot 应用程序中的进程与线程管理:从JAR启动到请求响应的完整分析
spring boot·后端·jar
lvbinemail6 天前
svn的web管理后台服务svnWebUI
运维·前端·svn·jar
星辰离彬7 天前
2025 IDEA运行报错:运行 xxxxApplication 时出错。命令行过长。 通过 JAR 清单或通过类路径文件缩短命令行,然后重新运行。
java·后端·intellij-idea·jar
Sunniering7 天前
使用classfinal-maven-plugin加密 Spring Boot JAR 包配置流程
spring boot·maven·jar·classfinal插件
酸菜谭丶8 天前
SpringBoot工程如何发布第三方Jar
spring boot·后端·jar
Hello.Reader10 天前
Flink SQL 的 JAR 语句ADD JAR / SHOW JARS / REMOVE JAR(SQL CLI 实战 + 避坑指南)
sql·flink·jar