解决 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的目录是不正确的,没有起到替换的效果,所以一定要保证被替换包的路径。
相关推荐
昀贝1 天前
Maven项目引用本地jar涉及scope和systemPath配置
python·maven·jar
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ2 天前
如何将一个本地的jar包安装到 Maven 仓库中
java·maven·jar
朱杰jjj3 天前
解决jenkins的Exec command命令nohup java -jar不启动问题
java·jenkins·jar
小毛驴8505 天前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
代码的余温5 天前
Maven引入第三方JAR包实战指南
java·maven·jar
weixin_7714323116 天前
linux系统 weblogic10.3.6(jar) 下载及安装
linux·运维·jar
欧阳秦穆7 天前
apoc-5.24.0-extended.jar 和 apoc-4.4.0.36-all.jar 啥区别
java·jar
卡布叻_星星7 天前
后端 Maven打包 JAR 文件、前端打包dist文件、通过后端服务访问前端页面、Nginx安装与部署
前端·maven·jar
佛祖保佑永不宕机7 天前
maven引入本地jar包
java·maven·jar
qq_49244844620 天前
java项目打包成jar包,并给jmeter使用
java·jmeter·jar