当前位置: 首页 > news >正文

windows使用命令解压jar包,替换里面的文件。并重新打包成jar包,解决Failed to get nested archive for entry

有一个jar包,需要替换里面的文件,使用解压工具打开项目,然后找到对应的子包,再次打开,然后进行手工替换重新压缩成jar包后,发现启动服务报错Failed to get nested archive for entry。

使用下面的命令可实现替换并重新打包成jar包的功能

1、解压

在这里插入图片描述

点击红框输入cmd回车进入窗口,输入命令:

jar -xvf main.jar

解压后出现三个文件夹
在这里插入图片描述

2、替换文件并重新添加到初始jar包

替换BOOT-INF文件夹里面的jar包或class文件,替换之后执行打包命令进行再次打包,命令如下

jar -uvf0 main.jar .\BOOT-INF\classes\org\springblade\modules\api\controller\DeviceController.class

-u: 表示更新现有 JAR 文件。这会将指定的新文件添加到 JAR 文件中,如果文件已存在,则会覆盖原有的文件。

-v: 表示详细模式,即在标准输出中显示有关文件添加的详细信息。

-f: 指定要更新的 JAR 文件名

0 表示压缩级别为 0,意味着不压缩。这是一个数字零,而不是字母 “o”。这意味着文件会被原样放入 JAR 文件中,不会进行任何压缩。

看到如下提示,则证明编译成功
在这里插入图片描述
可以把三个文件夹删除了,如果不放心可再次解压后查看。

使用命令看看jar是否可以正常启动

java -jar main.jar --server.port=8081

总结:
1、解压:jar -xvf xx.jar
2、替换文件
3.、把替换的文件追加到jar包:

jar -uvf0 main.jar .\BOOT-INF\classes\org\springblade\modules\api\controller\DeviceController.class

4、测试启动:jar main.jar --server.port=8081

相关文章:

  • 软件单元测试的技术要求
  • 日期类(完全讲解版)
  • 【Server Components 解析:Next.js 的未来组件模型】
  • Unity for Python —— 强大的 Python 脚本支持提升 Unity 编辑器效率
  • 前沿科技:改变生活的十大趋势
  • 后端开发:开启技术世界的新大门
  • playwright 实现自动上传,多元素操作
  • 性能:React 实战优化技巧 之 函数闭包
  • 一文讲解Redis为什么读写性能高以及I/O复用相关知识点
  • python读取pdf文档
  • 学习 `@PreDestroy`:Java EE/Jakarta EE 生命周期回调
  • web安全:跨站请求伪造 (CSRF)
  • Spark(2)linux和简单命令
  • Python 关于顶层对象
  • k8s Container runtime network not ready
  • 知识图谱-学习计划
  • 基于eBPF的全栈可观测性系统:重新定义云原生环境诊断范式
  • YOLOv12改进 | 注意力篇 | YOLOv12引入CBAM注意力机制
  • 今日行情明日机会——20250220
  • 调用click.getchar()时Windows PyCharm无法模拟键盘输入
  • OpenAI任命了一位新CEO
  • 西安碑林博物馆票价将调至85元,工作人员:10元属于改扩建期间惠民票
  • 戴维·珀杜宣誓就任美国驻华大使
  • 习近平离京赴莫斯科对俄罗斯进行国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典
  • 两国战机均未侵入对方领空,巴方公布对印回击细节
  • 印媒证实:至少3架印军战机7日在印控克什米尔地区坠毁