idea修改jdk版本_利用IDEA搭建JDK源码阅读环境教程(手动创建版)

搬运,侵删

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

找到源码位置


在安装JDK的位置找到src.zip和javafx-src.zip,解压
如果忘了,可以在IDEA中找到目录(Projuect Structure)

a7f024c844a76aff931ba9826cb79f04.png

067e704f589433c7ff0d3ac0b56a6f2b.png


IDEA搭建


第一步:新建项目
打开IDEA,按如下步骤新建一个简单Java项目
create new project

892f3068997758a9ca6ce8c15948dce0.png

新建一个简单Java项目

37bddf6840919d0914f3b900a9b887e6.png

36329093a7d2c23d24dfa25d029876f5.png

b6418cf6ef806b867d3158e45e141cb5.png

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

bfd52295d67732c63fba199f546bb2ba.png


第二步:添加源码
将之前解压的src.zip复制到工程目录下

6495ed266a240d34e1f8f7107bdd7d7a.png

第三步:替换JDK关联
为了能够备注以及避免修改到其他项目所使用的内容,添加一个名为“JavaJDK1.8Funyard”的SDK
并将Sourcepath修改为当前项目src下的源码内容移除Sourcepath中关联的src.zip

f565829f0d3e6c2019d16008d86030a9.png


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

d833abcc714ffdcdaf13bca600608ee1.png

d1298027e3848e5a377210a409c9f259.png


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

6a9e3037977ecd57dab19daa96069767.png


第四步:解决系统资源不足(OutOfMemoryError)
依次点击File–>Settings–>Build,Execution,Deployment–>Compiler
堆大小可由原来的700改为1700

f675bd9d998e0c882bf4384764b90f95.png


第五步:解决com.sun.tools.javac.api不存在
将jdk安装目录下(不是自己新建的这个源码阅读工程)lib包添加到项目中
依然是Projuect Structure

a7f024c844a76aff931ba9826cb79f04.png

d4ab100add2b3441766e25154272a6ec.png

adbca12ee360091ec874d85756a31268.png


点击ok,完成

67e275702a90199a4bdf8a75aa1327b5.png


第六步:解决找不到sun.awt.UNIXToolkit和sun.font.FontConfigManager
在项目中新建sun.awt包和sun.font包,分别新建UNIXToolkit.java和FontConfigManager.java

4f11b679d0c0f2adad7959fac5ce280b.png

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

6674fb495b70857f03c5084e2c4204b7.png

选择对应版本jdk

989e76280cd2c32e9044ba7748d18989.png

16549c03a70b7d56a3c7bba2bbe77d35.png

寻找UNIXToolkit类

e787bc344aae3e6592ce0e8b4396b1eb.png

02c5dac5221056f27a2980251f76f27e.png


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

5374685f1ef6fba8874de12fa65e0b6c.png


FontConfigManager也是一样,路径:src/solaris/classes/sun/font/FontConfigManager.java
复制进去之后可以看到还是有错误的地方,这时候就要进行清理idea缓存然后重启:
点击左上角File->Invalidate Caches/Restart…

35b3aba62e082a8eb00b5f570a3161be.png


重启之后就可以顺利运行啦(上面新建的类中可能还会报error,但是对使用没有影响)
写好测试类,打好断点,右键debug,F7F7F7F7F7F7一直F7,爽到

2b56612d62a1f0fc6b4689f649b5e2af.png

1b1e9c5855e17feb3364dca98e1d371f.png

e4e18bdb793c6824e9e96286b495955d.png

bad34414f9003e29870e1c38b4b2833f.png

确定没问题后,git add,git commit,git push安排~
最后附上本人的工程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值