部署实战--修改jar中的文件并重新打包成jar文件

一.jar文件

  1. JAR 文件就是 Java Archive ( Java 档案文件),它是 Java 的一种文档格式
  2. JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,多出了一个META-INF/MANIFEST.MF 文件
  3. META-INF/MANIFEST.MF 文件在生成 JAR 文件的时候自动创建的 (也可以自行创建)

二.问题触发场景

只有两个jar包,从一个jar里找出要修改的class文件生成新的jar包

三.操作步骤

  • 切换到要解压的jar包目录下,解压该文件
  • 生成jar包文件时自动创建的META-INF/MANIFEST.MF 文件
  • 找到解压后的class文件进行替换
  • 修改后重新打成包
  • 通过gui工具发现已修改

四.关键步骤

  • 此命令表示将修改后的BOOT-INF文件夹重新压缩到XXX.jar包中
java 复制代码
 jar -uvf0 XXX.jar BOOT-INF
  • 解压jar包(其中xxx.jar换成你的jar包名)
java 复制代码
jar -xvf xxx.jar
相关推荐
阿蒙Amon15 小时前
C#每日面试题-进程和线程的区别
java·面试·c#
一 乐15 小时前
养老院信息|基于springboot + vue养老院信息管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
hopsky15 小时前
mvn install 需要 手动清除 pom.lastUpdated
java·maven·mavbne
59803541515 小时前
【java工具类】小数、整数转中文小写
android·java·开发语言
cike_y15 小时前
Mybatis之作用域(Scope)和生命周期-解决属性名和字段名不一致的问题&ResultMap结果集映射
java·开发语言·数据库·tomcat·mybatis
天远Date Lab16 小时前
构建金融级信贷审批系统:Java Spring Boot 集成天远借贷行为验证 API 全指南
java·大数据·spring boot·金融
虾说羊16 小时前
transferManager为什么在工作中禁止使用 (怎么进行优化 怎么避免多线程的堵塞)
java·服务器·数据库
码农水水16 小时前
宇树科技Java面试被问:Atomic原子类的实现原理(CAS机制)
java·开发语言
liuc031716 小时前
JAVA调用deepSeek demo
java·开发语言
爱吃山竹的大肚肚16 小时前
Spring Boot 与 Apache POI 实现复杂嵌套结构 Excel 导出
java·spring boot·后端·spring·spring cloud·excel