jar包的快速修改和重新发布

这里针对的是java打包后的jar包,其他不确定. jar程序在发布后发现有小bug,但是程序整体的重新打包和发布,上传,有时候比较耗时. 这个场景就很好用.

说明:

  • jar包为test.jar,被替换的文件 test.class
  • jar这个命令是jdk下/bin/下的命令

1.解压

复制代码
jar xvf test.jar

解压后解压出三个文件夹: BOOT-INF,META-INF,org

2.替换.class文件

找到需要被修改的.class文件,直接替换

3.重新压缩

复制代码
jar cvfM0 ./test.jar ./BOOT-INF/ ./META-INF/ ./org/

重新压缩成test.jar,完成

  • 命令含义:c = 创建新包(Create),v = 详细输出,f = 指定文件名,m = 包含清单文件(Manifest),0 = 不压缩(Store only)。
  • 关键点 0:必须加!
    如果不加 0,JAR 工具会对文件进行 DEFLATE 压缩。
    Spring Boot 等框架构建的可执行 JAR/WAR,内部文件通常已被预压缩,再次压缩可能导致程序启动报错或校验失败。
    cvfm0 后的参数顺序严格对应:目标包名 -> 清单文件路径 -> 要打包的目录

4.效果

重新压缩后的jar会比原jar大很多,这个是正常. 运行无任何区别

相关推荐
DIY源码阁1 分钟前
JavaSwing宿舍管理系统 - MySQL版
java·数据库·mysql·eclipse
Han_han9192 分钟前
递归相关题目:
java
kTR2hD1qb17 分钟前
Claude Code Skill的介绍与使用
java·前端·数据库·人工智能
汤米粥28 分钟前
python学习——核心语法三
java·python·学习
basketball61637 分钟前
Kadane算法 C++实现
java·c++·算法
better_liang1 小时前
每日Java面试场景题知识点之-如何设计分布式锁
java·redis·zookeeper·面试·分布式锁
战族狼魂1 小时前
集 “自动飞行、智能识别、实时预警、勤务联动” 于一体的高速公路应急车道无人机检测系统方案
java·人工智能·大模型·无人机
一只鹿鹿鹿1 小时前
信息化项目管理规范(参考Word文件)
java·大数据·运维·开发语言·数据库
Java小白笔记1 小时前
Linux 手动部署 Oracle JDK 17 完全指南
java·linux·oracle
夕除1 小时前
实战--2
java·spring boot·spring