替换jar包内的文件

5 篇文章 0 订阅
1 篇文章 0 订阅

windows系统替换jar包文件

用压缩软件直接打开jar包,找到要替换文件路径,将替换文件直接拖进去进行替换即可
在这里插入图片描述

linux系统替换jar包文件

jar命令解析

用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 …

选项:

-c 创建新的存档

-t 列出存档内容的列表

-x 展开存档中的命名的(或所有的〕文件

-u 更新已存在的存档

-v 生成详细输出到标准输出上

-f 指定存档文件名

-m 包含来自标明文件的标明信息

-0 只存储方式;未用zip压缩格式

-M 不产生所有项的清单(manifest〕文件

-i 为指定的jar文件产生索引信息

-C 改变到指定的目录,并且包含下列文件:

如果一个文件名是一个目录,它将被递归处理。

清单(manifest〕文件名和存档文件名都需要被指定,按’m’ 和 'f’标志指定的相同顺序。

方法1:直接替换法,要建立和替换文件一样路径的文件夹

1、查询替换文件路径

#jar  -tf  test-boot-module-system-2.2.1.jar |grep  SmsApiService.class
 BOOT-INF/classes/org/dongbao/modules/business/open/impl/SmsApiService.class

2、jar包同路径创建要替换文件目录结构

#mkdir  -p  BOOT-INF/classes/org/test/modules/business/open/impl

3、上传替换文件到相对路径

#cd  BOOT-INF/classes/org/test/modules/business/open/impl
#ls
 SmsApiService.class

4、回到jar包路径合并文件到jar包内

#cd  -
 /usr/local/test
#jar -uf  test-boot-module-system-2.2.1.jar   BOOT-INF/classes/org/test/modules/business/open/impl/AliyunSmsApiService.class
方法2:命令解压后,在通过命令压缩成jar

1、解压jar命令不能解压到指定目录,可以用unzip test.jar -d test 解压到指定文件夹内

#jar  -xvf  test-boot-module-system-2.2.1.jar 
#ls
BOOT-INF  META-INF  org 

2、进入到文件路径,替换要更新的文件

#cd  BOOT-INF/classes/org/test/modules/business/open/impl
#ls
 SmsApiService.class

3、 回到jar解压的根路径,压缩成jar文件。将test 下 .指所有文件打包进去

jar -cvfm test-boot-module-system-2.2.1.jar  ./META-INF/MANIFEST.MF -C test  .

没有指定mainfest.mf 运行会报错,manifest是java文件的清单文件,入口指引

java -jar  test.jar 
no main manifest attribute, in test.jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值