用IDEA搭建源码阅读环境
参考自CodeSheep的Mac源码环境搭建,
https://www.bilibili.com/video/BV1V7411U78L
但是实际上在Windows搭建的差别很大,没有视频演示的那么简单
随后我找到了一篇关于Windows环境搭建源码的,有很多细节还是没有讲清楚
http://www.komorebishao.com/2020/idea-java-jdk-funyard/
所以我照着上面的博客,一步一步带大家搭建
第一步:新建一个普通的Java项目
第二步:找到JDK路径,解压源码包
打开资源管理器或者计算机,直接在地址栏复制我们的JDK路径,然后按ENTER直接访问所在位置
在桌面上新建个目录保存解压出来的源码包
第三步:配置环境
在项目的SRC蓝色源码包下创建source包,用于存放源码
把源码拷贝进去
打开SDKs,新增我们自定义的SDK
默认原来的位置
重命名一下标识这是自定义的SDK
在资源路径下面把源码包的路径删除掉
更换上我们项目里面的源码 保存,确定
在模块选项中更换我们自己的SDK
增加内存资源 防止系统内存不足报错
解决com.sun.tools.javac.api不存在报错的问题
解决指定文件不存在的问题:
- sun.awtUNIXToolkit
- sun.font.FontConfigManager
在项目source包下新建sun.awt和sun.font目录
新建对应上面所说的两个类
两个文件的资源,打开之后把里面展示的源码,复制粘贴到我们所创建的类上去,覆盖掉
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检查到了各种爆红错误,我们不用管他
刷新IDEA的缓存
确认
第四步,编写测试类调试,等待源码编译完成
进入调试选项 打开调试步骤进入到字节码
可以看到,调试指向的类已经可以被我们修改了,不再是之前的只读锁定状态