非maven项目idea 反编译.class文件时, 选择源后怎么更改源

本文介绍如何在IDEA中为Maven项目替换指定的源码,包括解决反编译显示问题的方法,并提供步骤说明及注意事项。

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

maven项目想更改源码用,只能将jar包安装到本地库 直接能看到
在这里插入图片描述

一个蛋疼的实验: idea中class文件选择源,会对反编译的.class文件产生影响!!???

以spring的jdbc的jar包为例

随便点开个类

会有选择源的提示
在这里插入图片描述
选择完源后,会加载注释什么的
在这里插入图片描述

修改源码

GitHub已死
从gitee下载spring源码, 修改jdbc的源码
在这里插入图片描述

不要纠结行数, 有注释什么的 肯定对不上(换自己编译的源可以)
gridle编译
在这里插入图片描述

源码三巨头

jar包
源码
接口文档

在这里插入图片描述

接下来更改项目引用的包

我的没用maven 直接更换
在这里插入图片描述
有变化,成功替换
自信的打开刚才的文件
在这里插入图片描述
发现没有 System.out.println("SQL>>" + sql);
反编译软件查看
在这里插入图片描述

重新加载
重新从磁盘加载
关了idea重新打开
重启电脑重新打开
🤣
好吧 当时确实懵逼了ヾ(≧▽≦*)o

隔了两天 突然灵光一闪 idea选择源码后,是不是会替换反编译的class?

水了这么多 到重点了

idea反编译的.class文件怎么更改源码呢?
百度无果-自己摸索
非maven版 找到依赖包点编辑
在这里插入图片描述

找到源码引用

明显看到源码jar
就是它干的
凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎凎
在这里插入图片描述
果断删除
注释没了,好多空行应该是idea反编译规则(挺好)
在这里插入图片描述

使用自己的源码

选择源 - 刚才spring源码编译后的libs文件夹下
在这里插入图片描述
和源码一模一样了
在这里插入图片描述

今天中午的大米真香

本例中用到的源码
或直接拉取https://gitee.com/zhugeyanchang/Spring-Framework.git
注意这个文件就OK
在这里插入图片描述

### 使用 IntelliJ IDEA 反编译 JAR 包内的 Class 文件 为了在 IntelliJ IDEA反编译 JAR 包中的 `.class` 文件,可以按照如下方法操作: #### 方法一:通过内置功能查看码 IntelliJ IDEA 提供了直接查看已加载库的字节码并将其转换为可读形式的功能。当打开项目依赖项中的类文件IDEA 自动尝试显示其对应的 Java 代码。 如果原始代码不可用,则会自动应用集成的 Fernflower 或 Procyon 字节码到 Java 的解构器来呈现近似的重构版代码[^1]。 #### 方法二:命令行方式使用插件进行反编译 对于更深入的操作需求,可以通过命令提示符调用特定于 IDE 版本安装路径下的 `java-decompiler.jar` 插件来进行批量处理。具体指令格式如下所示: ```bash java -cp "<path_to_java_decompiler_jar>" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true <input_jar> <output_directory> ``` 例如,在给定环境中执行此命令将会把位于 `D:\maven\respository\xxx\xxx-1.5.0-SNAPSHOT.jar` 的 jar 文件反编译并将结果保存至 `D:\src` 目录下: ```bash java -cp "E:\IDEA\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true "D:\maven\respository\xxx\xxx-1.5.0-SNAPSHOT.jar" "D:\src" ``` 注意替换 `<path_to_java_decompiler_jar>` 和其他占位符以匹配实际环境设置[^2]。 #### 方法三:配置外部工具辅助开发流程 还可以考虑将上述命令封装成 External Tools 配置的一部分,以便日后更容易重复利用这些参数化好的任务定义。这一步骤允许用户仅需点击几下鼠标就能完成整个过程而无需手动输入冗长复杂的 shell 命令字符串[^3]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸葛延昌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值