部署实战--修改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
相关推荐
Gauss松鼠会几秒前
【GaussDB】基于SpringBoot实现操作GaussDB(DWS)的项目实战
java·数据库·经验分享·spring boot·后端·sql·gaussdb
Gauss松鼠会6 分钟前
【GaussDB】GaussDB 常见问题及解决方案汇总
java·数据库·算法·性能优化·gaussdb·经验总结
xiaogg36788 分钟前
k8s 部署yaml文件和Dockerfile文件配置
java·docker·kubernetes
砍材农夫10 分钟前
物联网 基于netty构建mqtt协议规范(发布/订阅模式)
java·开发语言·物联网·netty
techdashen11 分钟前
Rust 泛型 vs Java 泛型:它们看起来相似,但骨子里截然不同
java·开发语言·rust
人道领域19 分钟前
【LeetCode刷题日记】106.从遍历序列重建二叉树:手撕递归边界,彻底搞懂左闭右闭 vs 左闭右开
java·算法·leetcode
luck_bor30 分钟前
Map&Stream流
java·开发语言
用户2986985301431 分钟前
Java 统计 Word 文档中的单词数量
java·后端
AI人工智能+电脑小能手40 分钟前
【大白话说Java面试题 第63题】【JVM篇】第23题:工作中用过的JVM常用基本配置参数有哪些?
java·开发语言·jvm·面试