不解压的方式直接更新jar包内部的内容

前言

如果线上直接更新一个class,可以不用解压,直接利用jar命令直接更新jar报的资源和内容

更新jar包内容文件

Jar 工具提供了一个 u 选项,你可以通过修改其清单或添加文件来更新现有 JAR 文件的内容。

添加文件的基本命令具有以下格式:

复制代码
jar uf jar-file input-file(s)

在此命令中:

u 选项表示你要 update (更新) 现有 JAR 文件。

f 选项表示要在命令行上指定要更新的 JAR 文件。

jar-file 是要更新的现有 JAR 文件。

input-file(s) 是一个以空格分隔的列表,其中包含要添加到 JAR 文件的一个或多个文件。

归档中已存在的文件与添加的文件具有相同的路径名将被覆盖。

创建新的 JAR 文件时,你可以选择使用 -C 选项来指示目录的更改。有关更多信息,请参阅 Creating a JAR File 部分。

TicTacToe.jar 有以下内容:

复制代码
META-INF/MANIFEST.MF
TicTacToe.class

假设你要将文件 images/new.gif 添加到 JAR 文件中。你可以通过从 images 目录的父目录发出此命令来完成此操作:

jar uf TicTacToe.jar images/new.gif

修订后的 JAR 文件将具有以下目录:

复制代码
META-INF/MANIFEST.MF
TicTacToe.class
images/new.gif

在执行命令期间,可以使用 -C 选项"更改目录"。例如:

复制代码
jar uf TicTacToe.jar -C images new.gif
相关推荐
RwwH几秒前
PyCharm虚拟环境创建
ide·python·pycharm
MediaTea几秒前
思考与练习(第四章 程序组成与输入输出)
java·linux·服务器·前端·javascript
kong79069283 分钟前
Java新特性-(四)方法与数组
java·数组·方法
麦麦鸡腿堡7 分钟前
Java_反射暴破创建对象与访问类中的成员
java·开发语言
大海星辰7988 分钟前
工厂模式与策略模式的深度实践:从代码优化到架构思考
java·架构·策略模式
Jack_abu9 分钟前
详解java中的线程间协作工具:CountDownLatch,Semaphore,CyclicBarrier(二)
java·并发编程·juc
miss_you121323 分钟前
结算模块设计
java
派大鑫wink25 分钟前
【Day1】Java 入门:开发环境搭建(JDK 安装 + IDEA 配置 + HelloWorld 实战)
java·开发语言·intellij-idea
magic_kid_201027 分钟前
IDEA 中 Maven 多模块项目的某个模块未显示或无法导入的解决方案
java·maven·intellij-idea
LSL666_28 分钟前
1 验证码
java·服务器·前端·redis·验证码