JDK源码环境搭建

本教程是用idea搭建,jdk源码就在jdk安装路径下的src.zip中,解压即可用。

第一步:新建项目

打开IDEA,按如下步骤新建一个简单Java项目

create new project

JDK源码环境搭建

新建一个简单Java项目

JDK源码环境搭建

JDK源码环境搭建

点击finish后,项目就创建好了

JDK源码环境搭建

第二步:添加源码

将之前解压的src.zip复制到工程目录下

JDK源码环境搭建

第三步:替换JDK关联

为了能够备注以及避免修改到其他项目所使用的内容,添加一个名为“JavaJDK1.8Funyard”的SDK

并将Sourcepath修改为当前项目src下的源码内容

移除Sourcepath中关联的src.zip

JDK源码环境搭建

将项目中的JDK源码关联到Sourcepath

JDK源码环境搭建

JDK源码环境搭建

修改项目使用的JDK为上面新建的

JDK源码环境搭建

第四步:解决系统资源不足(OutOfMemoryError)

依次点击File–>Settings–>Build,Execution,Deployment–>Compiler

堆大小可由原来的700改为1700

JDK源码环境搭建

第五步:解决Debugger断点进入不了下一层

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pj72YmKR-1586181006241)(C:\Users\liuwei\AppData\Roaming\Typora\typora-user-images\1586180987620.png)]

第六步:解决com.sun.tools.javac.api不存在

将jdk安装目录下(不是自己新建的这个源码阅读工程)lib包添加到项目中

依然是Projuect Structure

JDK源码环境搭建

JDK源码环境搭建

JDK源码环境搭建

点击ok,完成

JDK源码环境搭建

第七步:解决找不到sun.awt.UNIXToolkit和sun.font.FontConfigManager

在项目中新建sun.awt包和sun.font包,分别新建UNIXToolkit.java和FontConfigManager.java

JDK源码环境搭建

OpenJDK寻找sun.awt.UNIXToolkitsun.font.FontConfigManager的源码,分别复制到上面新建的两个类里

JDK源码环境搭建

选择对应版本jdk

JDK源码环境搭建

JDK源码环境搭建

寻找UNIXToolkit类

JDK源码环境搭建

JDK源码环境搭建

进入到 /src/solaris/classes/sun/awt/目录,找到UNIXToolkit

JDK源码环境搭建

FontConfigManager也是一样,路径:src/solaris/classes/sun/font/FontConfigManager.java

复制进去之后可以看到还是有错误的地方,这时候就要进行清理idea缓存然后重启:

点击左上角File->Invalidate Caches/Restart…

JDK源码环境搭建

重启之后就可以顺利运行啦*(上面新建的类中可能还会报error,但是对使用没有影响)*