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

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


http://www.kler.cn/a/559135.html

相关文章:

  • Python 基本语法的详细解释
  • 深度解析:大模型在多显卡服务器下的通信机制与分布式训练——以DeepSeek、Ollama和vLLM为例
  • vue前端菜单权限控制
  • 【Java 面试 八股文】JVM 虚拟机篇
  • 谷歌浏览器更新后导致的刷新数据无法显示
  • 给小米/红米手机root(工具基本为官方工具)——KernelSU篇
  • Pytorch使用手册-音频数据增强(专题二十)
  • 基于 JavaWeb 的 SSM+Maven 微信小程序快递柜管理系统设计和实现(源码+文档+部署讲解)
  • C++ 编程语言简介
  • 微信小程序 - 页面跳转(wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch)
  • 有时候通过无线上网,有线共享局域网通过该有线为网关进行上网,设置指定的网关IP信息
  • RabbitMQ学习—day5—交换机
  • Visual Studio中打开多个项目
  • vue2.x 中子组件向父组件传递数据主要通过 $emit 方法触发自定义事件方式实现
  • 嵌入式八股文(五)硬件电路篇
  • Python CNN基于深度学习的轴承故障智能检测平台
  • 解决银河麒麟操作系统V10软件包架构不符问题
  • 51单片机-80C51的串行口
  • ArcGIS Pro进行坡度与坡向分析
  • 数据库-分库分表的概念