修改 jar 包中的源码方式

在我们开发的过程中,我们有时候想要修改jar中的代码,方便我们调试或或者作为生产代码打包上线,但是在IDEA中,jar包中的文件都是read-only(只读模式)。那如何我们才能去修改jar包中的源码呢?

1.我们把生产上的jar包下载下来,通过xftp去拿到本地就好。

2.找到jar中你想要修改的类,在自己的工程目录下,创建一个同该类一样的包(package)。

3.把你要修改的类复制到该包中。此时,可以对该类进行修改。

4.debug项目,在该类中打上断点,可以看到代码执行时会进入这个新的类中,说明走的是改后的代码。

5.注意,IDEA会出现alternative source available for the class 提示。这个是可以随时切换想要执行的同名类。

到这里,调试阶段修改 jar 包中源码的方式就到此为止了。但如果项目想要使用修改后的类打包到生产上运行,还需要继续进行下面的操作。

接着上面的第 4 步,项目可以正常打包上线。

6.如果不想在工程中显示创建一个同名类,想要直接修改 jar 包中的代码的话,可以对新修改的同名类进行编译生成 .class 文件。

7.然后将 jar 包解压,找到对应类的 .class 文件,用刚刚编译的新的 .class 文件替换。然后将解压后的 jar 包打成 zip 包。

8.最后,将 zip 包后缀修改为 .jar,替换原有工程的 jar 包即可。

以上就是修改 jar 包中源码的方法。

相关推荐
Java小卷8 分钟前
KIE Drools 10.x 规则引擎快速入门
java·后端
fengsen52113149 分钟前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
竟未曾年少轻狂12 分钟前
Spring Boot 项目集成 Redis
java·spring boot·redis·缓存·消息队列·wpf·redis集群
_codemonster20 分钟前
java web修改了文件和新建了文件需要注意的问题
java·开发语言·前端
Java天梯之路26 分钟前
Spring Boot 钩子全集实战(九):`@PostConstruct` 详解
java·spring boot·后端
松涛和鸣30 分钟前
75、 IMX6ULL LM75温度传感器I2C驱动开发
java·linux·数据库·驱动开发·python
独自破碎E37 分钟前
BISHI41 【模板】整除分块
java·开发语言
毕设源码-郭学长40 分钟前
【开题答辩全过程】以 基于Springboot图书管理系统为例,包含答辩的问题和答案
java·spring boot·后端
鹅是开哥1 小时前
Spring AI Alibaba + DashScope 调用超时彻底解决(SocketTimeoutException / read timeout)
java·人工智能·spring
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于springboot网络游戏账号租赁以及出售系统为例,包含答辩的问题和答案
java·spring boot·后端