Note book & Life share

利用IDEA搭建JDK源码阅读环境教程(手动创建版)

字数统计: 586阅读时长: 2 min
2020/03/26

之前搭建了一个JDK阅读环境,为了效率,就先应急clone了一个Github上的再进行配置,好用是好用,但是因为没有亲手解决自己之前遇到的问题,耿耿于怀。

忍一时越想越气,吃完饭终于忍不住了,干他,非把他整活不可!

找到源码位置

在安装JDK的位置找到src.zip和javafx-src.zip,解压

如果忘了,可以在IDEA中找到目录(Projuect Structure)

IDEA搭建

第一步:新建项目

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

create new project

新建一个简单Java项目

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

第二步:添加源码

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

第三步:替换JDK关联

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

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

移除Sourcepath中关联的src.zip

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

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

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

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

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

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

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

依然是Projuect Structure

点击ok,完成

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

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

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

选择对应版本jdk

寻找UNIXToolkit类

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

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

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

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

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

写好测试类,打好断点,右键debug,F7F7F7F7F7F7一直F7,爽到

确定没问题后,git add,git commit,git push安排~

最后附上本人的工程

CATALOG
  1. 1. 找到源码位置
  2. 2. IDEA搭建
    1. 2.1. 第一步:新建项目
    2. 2.2. 第二步:添加源码
    3. 2.3. 第三步:替换JDK关联
    4. 2.4. 第四步:解决系统资源不足(OutOfMemoryError)
    5. 2.5. 第五步:解决com.sun.tools.javac.api不存在
    6. 2.6. 第六步:解决找不到sun.awt.UNIXToolkit和sun.font.FontConfigManager