手把手教你使用命令替换jar包中的class文件

java实现class的热替换 立即下载
AI摘要

本文介绍在没有源码的情况下,如何修改JAR包中的CLASS文件以满足开发需求。包括准备所需文件、理解JAR命令及具体操作步骤。

一、背景

在有时候,我们没有对应的源码,但是需要去改动我们所知jar包中的内容,这时,我们可以通过修改jar包中的class文件,从而使改包中的功能满足我们的开发需求。

二、准备

准备好你需要的jar包以及需要替换的 .class文件,我这里的class是通过解压jar包出来之后,创建了它们所对应的类之后,进行的编译,现在要替换这个jar包中的两个class文件

三、了解jar的命令

-c 创建一个jar包
-t 显示jar中的内容列表
-x 解压jar包
-m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0 产生jar包时不对其中的内容进行压缩处理
-M 不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-i 为指定的jar文件创建索引文件
-C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令
-u 添加文件到jar包中
-v 生成详细的报造,并输出至标准设备
-f 指定jar包的文件名

四、操作

解压jar文件

我们需要路径下的class,路径没错的话,会自动解压出对应的文件夹以及文件

jar -xvf *.jar */*/*/*.class

替换jar包中的文件

执行完之后,jar包中对应的.class就被替换了

cvtColor +内存泄漏 题目不知道怎么取,因为cvtColor并没有产生内存泄漏,但是我由于没有正确使用cvtColor而出现了内存泄漏的问题,所以暂且以cvtColor+内存泄漏为题 1.应用背景 项目中用到cvtColor的地方是需要将灰度图转为3通道的彩色图(实际上转换后仍然为灰色的,但是电脑认为的是3通道的彩色图了) 因此需要用到以下语句 cvtColor(src_img, cvMtxRGB, C 阅读详情

相关推荐

【SEED Labs 2.0】V*N Tunneling Lab

本文为 SEED Labs 2.0 - V*N Tunneling Lab 的实验记录。本实验工作量较大,但难度不大,重点在于搞清是谁发给谁,走的什么路径。另外,本次实验由于网络中的设备较多,修改了环境变量方便分清哪个窗口是哪个设备。这样操作起来就方便多了。...

Chenyang的博客 6979

Jar包中Class文件替换

3)在jar包中找到你要替换的class文件的位置(注意:如果你的类,即class文件,有包结构,即在一系列的文件夹下面存储,则需要在“jar”同级目录下,建相同的包结构文件夹,然后把“.class”文件放里面)验证一下,替换是否成功,解压替换前和替换后的两个jar包,对比替换的class文件的修改时间、文件大小。4.输入命令 “jar uvf myjar.jar com/test/Test.class” 即可。3.如果你的类有包结构,在“jar”同级目录建包结构文件夹,然后把“.class”文件放里面。

katrinasky的博客 7475

告别手动核对!用这个ABAP报表一键导出所有物料的库存与需求清单

本文介绍了如何通过定制化ABAP报表一键导出SAP系统中所有物料的库存与需求清单,整合MD04、MB52、ME2N等多个事务码的数据,大幅提升供应链管理和生产计划效率。该报表可自动生成包含库存状态、MRP需求、采购订单等关键指标的物料全景视图,帮助企业减少手工操作错误,节省时间成本。

weixin_33725515的博客 467

替换jar包中的class文件

背景:项目中使用了一个第三方公司开发的cas_client_all.jar包,由于公司业务发展,需要对cas_client_all.jar包中的一个类做一些逻辑增强。 问题1.我们没有cas_client_all.jar的源码,所以直接在源码上修改,然后打包行不通; 问题2.反编译出的源码,依赖了第三方公司内部的jar或者文件,解决不了依赖问题就无法打包(为了解决问题1只好对cas_client_all.jar逆向工程,比如JD-GUI) 以上问题阻挠重新打包。 经过评估,业务只是对其中一个cl

z507263441的专栏 8232

eDP、DP与HDMI——现代显示接口的核心解析

eDP、DP和HDMI各有千秋:eDP以嵌入式设备的低功耗见长,DP凭借开放生态和高带宽成为专业领域首选,而HDMI则依靠庞大的消费电子生态稳居家庭市场。未来,随着Type-C接口的普及和超高清内容的爆发,三者的技术边界可能进一步融合,但各自的核心优势仍将长期共存。对于用户而言,选择接口需基于设备需求——游戏玩家青睐HDMI的VRR,设计师依赖DP的多屏扩展,而轻薄本则离不开eDP的紧凑设计。

麟的博客 8417

Cadence Sigrity PowerSI实战:从.brd到S参数提取的完整避坑指南

本文详细介绍了使用Cadence Sigrity PowerSI进行信号完整性分析的完整流程,从.brd文件预处理到S参数提取的关键技巧。通过实战案例和避坑指南,帮助工程师高效解决高速PCB设计中的信号质量问题,提升仿真精度和设计效率。

carrot的博客 694

java替换jar中的class文件

将1步骤中编译好的class文件上传到服务器上,上传目录为2中获取的路径。覆盖原始的class文件。将需要修改的class文件代码复制到java编译工具中,代码改好以后编译成class文件。在调整java代码过程中会遇到需要改jar包中的class文件的情况,改了如何替换呢?在服务器上执行,注意是在jar目录中执行解压。重新把替换后的class文件压缩到jar中。如果需要替换多个class文件,命令改成即可。在linux服务器上执行。

whandgdh的博客 4943

智能能效管家:基于 ESP32 的智能插座设计与精细化功耗管理实现

针对传统插座无法远程控制、功耗监测缺失、能源浪费严重等问题,本文设计一款基于 ESP32 主控芯片的智能插座。该系统集成 WiFi 无线通信、交流功耗采集、继电器通断控制模块,实现四大核心功能。硬件采用模块化选型与安全接线设计,软件基于 Arduino-ESP32 框架开发,搭载 Mqtt 通信协议与功耗算法,可通过手机 / 云端实时管控设备,有效提升用电安全性与能源利用率。:ESP32;智能插座;功耗管理;远程控制;能耗监测。

weixin_42300449的博客 101

替换jar包中class文件

替换jar包中class文件

AiFlutter的博客 2554

【C2000系列DSP的双向DC-DC电源】基于TMS320F28034的DC-DC项目开发流程

理解DC-DC 双向电源(基于 TMS320F28034)的开发流程,需要从功能拆解、开发步骤、验证 / 测试项

昔时扬尘处 324

小米15修复“NV损坏” 去除主板校验电阻步骤解析与图示

小米15系列将搭载骁龙8至尊版处理器,采用台积电3nm工艺。文章分析了手机出现"NV损坏"故障的表现及修复方法,包括通信异常、系统启动问题等典型症状,并介绍了去除主板校验电阻和刷写工程固件两种修复方案。重点讲解了去除主板电阻后刷写QCN文件的操作流程,强调在维修过程中需要结合分析与思考。适用于小米15系列特定机型(24129PN74G/I/C)的硬件修复。

小马哥的专栏 313

使用jar命令替换jar中的class

1、新创建一个包名类名一致的.java *[确保jar中有对应的class] 2、准备好要替换的jar 命令如下: jar uvf ~/Documents/baidu-license-10.1.2.jar com/baidu/license/LicenseVerifier.class 解析命令: jar: 包是Java中所特有一种压缩文档 -u 添加文件到jar包中 -v 生...

随风往事 1万+

手把手教您同花顺如何设置大盘分时均价线

本文将手把手教你如何在同花顺PC端开启大盘指数分时图📈

XiaoqiangClub的博客 4415

手把手教你修改项目中jar包中的class文件

一.准备条件 我用的是eclipse安装的插件,先前是用的JD-GUI,但是发现解析后的java大部分都是错的,所以最后选择了eclipse插件 安装插件,在eclipse里面的软件商城里,搜索然后一直默认安装即可 也可以用一些外用软件(我没用过),如jad 和 FrontEndPlaus 二.使用阶段 安装完插件后,重启编译器,找到要修改的class文件,对应的jar包,右击→导出 导出到桌面是个压缩包,然后解压,解压后的文件夹命名为和jar包同名 6.将解压后的文件夹放入

qq_23095607的博客 4033

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Linux 环境中直接替换jar包中的配置文件或者class文件避免重新打包

如果java 工程是打包成jar工程,这个时候又修改了少量代码,重新打包上传就比较麻烦。可用如下方式局部替换配置文件或者class文件。 解析命令: jar: 包是Java中所特有一种压缩文档 -u 添加文件到jar包中 -v 生成详细的报造,并输出至标准设备 -f 指定jar包的文件名 -t 显示jar中的内容列表 -c 创建一个jar包 -t 显示jar中的内容列表 -x 解压jar包 -m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及

summer的博客 6199

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

替换jar包中的yml,class等文件的方法

jar内的文件替换,重新部署

adminstate的博客 3035

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

替换jar包中的某个文件

替换jar包中的某个文件

Jason_boy5的博客 4802

替换jar包中的一个文件

如果一个项目是分模块开发,那么打包成war包后的代码 是分别存在于不同模块的jar中! 如何替换掉jar中的一个.class文件呢! 1.先解压jar包 cmd进入对应的文件路径,jar -xf xxx.jar 2.替换掉.class文件 3.将解压后的文件打包成jar包 jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名 文件名 文件名  -c 创建新的 JAR 文件包  -t 列出 JAR 文件包的内容列表  -x 展开 JAR 文件包的指定文件或者所

paotaiaaaaaa的博客 801

Linux环境替换jar包中class文件

即可将此文件重新压缩入jar包,并替换掉jar包中原有文件。到这里就对jar包中的文件完成了替换!,即可将目标文件解压到当前目录。,即可得到这个文件的具体目录。将已解压出来的文件,替换为我们最新的文件。

qq_41465903的博客 2734

简单的jar包解压class文件修改再编译成jar包

简单的jar包解压class文件修改再编译成jar包

qq_19342829的博客 3248

替换jar包中单个class文件

给客户私部的环境出现了问题,找到原因并进行了代码调整。但是由于是2年前给客户进行的部署,当时的代码相比现在落后太多,无论配置文件、表结构都有很多改动。如果升级需要将相关依赖服务全部升级。风险较大!而且本次只调整了其中的一个工具类中的方法。

zhlm001的博客 2228

linux替换war包中的class文件

最近遇到一个操作,替换war包中的某个class文件,然后再打成war包。记录一下操作流程。 要替换jar/war包中的class文件,首先就得知道怎么把包给解压开 (假设当前jdk所在目录为/usr/local/jdk1.8) 解压jar: /usr/local/jdk1.8/bin/jar -xvf xxx.jar (解压jar包到当前目录,要指定目录可以用 unzip xxx.jar ...

Fighting 3741

替换jar包中的class文件并重新打包

适用于无源码jar或涉及切换环境参数及不确定影响的情况下,减少对原jar的修改 一定要备份,一定要备份,一定要备份 1.将原jar包下载到本地目录 /Users/user/fsdownload/aa.jar 2.将原jar包解压缩–原解压文件 /Users/user/fsdownload/aa 3.通过反编译或Java -cp 命令或idea等工具获得目标class文件 4.用目标class文件替...

我的博客 3525

快速替换jar包中.class、.html、.yml格式的文件

为了快速修改部分小bug,避免花费很多时间在IDEA中在重新打包的流程上,提升工作效率。

涛涛之海 3538
上一篇: 带你快速上手Optional
下一篇: 教你如何设置JMeter压力测试工具中文版
Janson_Lin
博客等级 码龄10年 229粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值