解决 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的目录是不正确的,没有起到替换的效果,所以一定要保证被替换包的路径。
相关推荐
Java程序员威哥2 天前
【包教包会】SpringBoot依赖Jar指定位置打包:配置+原理+避坑全解析
java·开发语言·spring boot·后端·python·微服务·jar
摇滚侠2 天前
Rocketmq Dashboard jar 包启动,使用启动命令参数,修改 NameServer 的地址
rocketmq·java-rocketmq·jar
TangKenny2 天前
jar 命令详解
java·pycharm·jar
wuxin_91022 天前
Android Studio打Jar包
pycharm·android studio·jar
二哈喇子!5 天前
Eclipse中导入外部jar包
java·eclipse·jar
二哈喇子!6 天前
IDEA如何导入jar包
java·intellij-idea·jar
半壶清水8 天前
如何在IDEA中将JavaFX项目打包EXE文件
java·windows·intellij-idea·jar
magic_kid_20109 天前
Flink on YARN 依赖/JAR 包问题排查指南
flink·jar·包冲突
Hello.Reader11 天前
PyFlink JAR、Python 包、requirements、虚拟环境、模型文件,远程集群怎么一次搞定?
java·python·jar
cly113 天前
使用 JAR 包部署 Java 应用(以 NginxWebUI 为例)
java·开发语言·jar