本文记录了 JDK 源码阅读环境的搭建方式
环境准备
- JDK8
- IntelliJ IDEA 2020.1
环境搭建
使用 IDEA 创建项目,选择 Java
选择 Java
想改项目名和包名
找到 JDK 源码的压缩包并解压
将 JDK 目录中的 src.zip 解压,并把解压的目录复制到创建的项目中
测试(通常会遇到一些问题,可继续往下看)
遇到的问题
问题1
找不到符号:UNIXToolkit,FontConfigManager

错误原因:这是因为在Windows平台下缺少了两个java类文件所导致的。
解决办法:
这两个类可以再 OpenJDK 网站上找到

选择自己的 JDK 版本




UNIXToolkit.java 在 /src/solaris/classes/sun/awt/ 包中
FontConfigManager.java 在 /src/solaris/classes/sun/font/ 包中
将 UNIXToolkit.java 复制到项目中 /src/sum/awt/UNIXToolkit.java
将 FontConfigManager.java 复制到项目中 /src/sum/font/FontConfigManager.java

问题2
程序包:com.sun.tools.javac.api 不存在
程序包:com.sun.tools.javac.processing 不存在
程序包:com.sun.tools.javac.util 不存在

错误原因:缺少 tools 的jar包
解决办法:
点击 Project Structure –> Libraries
在 JDK 安装目录找到 tools.jar,导入


问题3
编译超时或编译内存溢出
异常原因:编译内存不足
解决办法:
点击 File –> Settings –> Build,Execution,Deployment –> Compiler,将 Build process heap size(Mbytes) 选项的默认值700调至1200

问题4
无法修改源码
异常原因:因为 JDK 源码的受保护的,无法进入
解决办法:
点击 File –> Settings –> Build,Execution,Deployment –> Debugger –> Stepping,取消勾选 Do not step into the classes

修改关联的源码文件为刚才复制到项目中的文件
点击 Project Structure –> SDKs,先将原先关联的源码路径删除,添加项目目录下的源码路径。

这个时候就可以添加注释了