Jar包反编译后修改源码再编译

本文介绍如何通过反编译jar包,快速查看并修改源码,然后在IDEA中重构为新工程,包括查看源码、生成源文件、构建项目并重新编译为jar,以实现高效功能定制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jar包反编译后修改源码再编译

1. 场景

需要对当前的jar包功能进行修改,但是没有源码,两种方式:

    1. 通过反编译软件如JD-GUI或其他Java开发常用的IDE如IDEA查看源代码,创建新工程,按照文件结构逐个将文件源码复制粘贴到工程中,再根据个人需求进行修改、编译等。
    1. 通过反编译软件JD-GUI直接保存成源码格式的工程文件,再通过IDEA打开工程,进行必要的配置后,再根据需求进行修改编译。

很明显第一种方式比较费时,选用第二种方式。

2. 详细步骤

2.1 查看源码

如果仅仅是查看源代码的话,有两种方式:

方式一:

直接通过jd-gui打开jar文件即可。

方式二:

通过IDEAExternal Libraries查看。在IDEA中通过Project Structure将需要查看的jar包添加到Libraries,之后就可以查看了。

2021-10-10_142558.png

2021-10-10_143215.png

第二种方式虽然稍微麻烦一点,但如果只是查看源码的话,个人更倾向第二种。

2.2 生成源文件

借助jd-gui可以直接生成**.java**源文件。通过菜单File -> Save All Sources就可以生成源文件压缩包。

2021-10-10_144128.png

注:查看生成的源码文件中有一些多余的注释,如行号及一些元数据信息,可以通过修改jd-gui的偏好设置重新生成。

2021-10-10_144058.png

2.3 构建项目

  1. 通过IDEA直接打开源文件;

    2021-10-10_144538.png

  2. 创建src目录,将源文件方法到src下,根据报错信息,修改工程的外部引用;

2.4 编译成jar包

2021-10-11_095113.png

两种类型可以选择:Empty可以不设置主类,适用于编译没有主类的jar包;

2021-10-11_095449.png

3. 参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值