部署实战--修改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
相关推荐
karry_k11 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k11 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking15 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩18 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码20 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev21 小时前
Gson → kotlinx.serialization
android·java·kotlin
小bo波1 天前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯1 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式