java idea编译字节码_【Java】用IDEA搭建源码阅读环境

用IDEA搭建源码阅读环境

参考自CodeSheep的Mac源码环境搭建,

https://www.bilibili.com/video/BV1V7411U78L

但是实际上在Windows搭建的差别很大,没有视频演示的那么简单

随后我找到了一篇关于Windows环境搭建源码的,有很多细节还是没有讲清楚

http://www.komorebishao.com/2020/idea-java-jdk-funyard/

所以我照着上面的博客,一步一步带大家搭建

第一步:新建一个普通的Java项目

6d439e671ae0f4537ba988ea23d26d00.png

afb7de7bd2664f9a0f3dd529c3b4c8aa.png

41d7de55c4a5bd861b7499987a6c3776.png

第二步:找到JDK路径,解压源码包

5d8625c74efe7fb3c157f03040dce9f4.png

打开资源管理器或者计算机,直接在地址栏复制我们的JDK路径,然后按ENTER直接访问所在位置

73dc144ad1165c216d4f2f8ed84b5d09.png

在桌面上新建个目录保存解压出来的源码包

c790bee1beadccb04696b4cc210ad4de.png

第三步:配置环境

在项目的SRC蓝色源码包下创建source包,用于存放源码

e3230a8a7e029b77c37178a152a5beb3.png

把源码拷贝进去

add4b2a25018a016b1e511b21af2608c.png

8602d0cf384eefda9f361993728a3aba.png

打开SDKs,新增我们自定义的SDK

9a80e4e6e54d907d571080fc51cc4691.png

默认原来的位置

2154bd0e94de52c5d44c8abaeba4d093.png

重命名一下标识这是自定义的SDK

33c79710ce0ae224aa80a9a11356b855.png

在资源路径下面把源码包的路径删除掉

c346929193e1634c438cd4b05d17a500.png

更换上我们项目里面的源码 保存,确定

ed82184b63d0e99fe22c3d29b0c4e662.png

在模块选项中更换我们自己的SDK

3f839308ec48091bcfad0db2e8b062d1.png

增加内存资源 防止系统内存不足报错

a7281d08541e263c91780d6c270a236e.png

解决com.sun.tools.javac.api不存在报错的问题

e771a43ddb92d7d557fa0098a1b9a5e8.png

解决指定文件不存在的问题:

- sun.awtUNIXToolkit

- sun.font.FontConfigManager

在项目source包下新建sun.awt和sun.font目录

ee485dad250fa1c0514aa86121ccd055.png

新建对应上面所说的两个类

1dab357df789eb7158922f019047653b.png

两个文件的资源,打开之后把里面展示的源码,复制粘贴到我们所创建的类上去,覆盖掉

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/e17fe591a374/src/solaris/classes/sun/awt/UNIXToolkit.java

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/e17fe591a374/src/solaris/classes/sun/font/FontConfigManager.java

IDEA检查到了各种爆红错误,我们不用管他

db49d3f8fe1c0d1e1a7bae942bb84be2.png

刷新IDEA的缓存

85a368616b6325349c45ddc6b761a789.png

确认

277305e17783cc6bb4c795aa815b3416.png

第四步,编写测试类调试,等待源码编译完成

1115fd8a96d93646fe4781ad44252fa2.png

进入调试选项 打开调试步骤进入到字节码

2028e10b77684ad87f01fe31691829a4.png

可以看到,调试指向的类已经可以被我们修改了,不再是之前的只读锁定状态

86c2d8d5a3e6aec3858a38504acab521.png

原文:https://www.cnblogs.com/mindzone/p/12711174.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值