第一次使用jdk自带工具反编译,步骤记录

1、拷贝要反编译的Jar包,放到一个空目录下

以下所有操作都是在当前目录下进行:

2、解压JAR包到当前目录:jar -xf ApacheJMeter_core.jar

3、找到要修改的class文件,根据它的位置创建.java文件,比如我要修改的是org\apache\jmeter\report\core\TimeHelper.class,就创建一个目录:

mkdir src\org\apache\jmeter\report\core

注意:在源路径前面加src

4、创建.java文件:src\org\apache\jmeter\report\core\TimeHelper.java

5、使用Idea打开TimeHelper.class,IDEA内置反编译器,会直接显示这个类的源码。将源码拷贝到.java文件中,进行修改。

6、修改之后重新编译:通常修改的这个类都要依赖于其他的文件,所以在编译时需要指定它的依赖,我不确定它都依赖哪些包,所以索性将JMeter的所有lib包都包含进来了:

javac -cp ".;C:\Users\MyName\Documents\software\jmeter-5.5\lib\*" -source 8 -target 8 -d . src/org/apache/jmeter/report/core/TimeHelper.java

注意:原来的.class文件在IDEA中打开时显示:

表示它是在jdk8的环境下构建的,所以重新编译时也要用jdk8。我第一次用了jdk17,虽然成功了生成了新的JAR包,但是我的修改不起作用。

7、此时,org/apache/jmeter/report/core下的TimeHelper.class应该已经更新了

8、更新JAR包:jar -uf ApacheJMeter_core.jar org/apache/jmeter/report/core/TimeHelper.class

至此,新的JAR包已经生成,替换即可。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值