22人参与 • 2025-08-06 • ar
使用zip工具替换jar包的class类文件是没有问题的,但是当换里面的jar包时就会出现异常。
failed to get nested archive for entry boot-inf/lib/xxx.jar
先解压jar包到本地目录
jar -xvf test.jar
得到三个文件夹
boot-inf
meta-inf
org
而需要替换的api-user-0.0.1.jar
包就在boot-inf\lib
目录下。
此时把新的api-user-0.0.1.jar
替换掉原来的包。
随后就可以执行打包命令了
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.jar
与test.jar
同一目录,并且你执行jar -uvf0 test.jar api-user-0.0.1.jar
命令,压缩后的api-user-0.0.1.jar
的目录是不正确的,没有起到替换的效果,所以一定要保证被替换包的路径。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论