试用补单平台源码_IDEA导入jdk8源码学习(报错解决方案)


即使再小的帆也能远航

首先将jdk里的src源码解压,然后把src里面的全部东西粘到自己项目src目录里。

6990f704e7d7a59d948808ad0f9e82a6.png

e1502e1dc17afc4ae0411e5af65424f3.png

问题1:系统资源不足

a88e7042a3862ea846d86f39e0ec76e3.png

解决方案:

通过提示可以看出导致这个错误出现的原因是内存不够。解决办法当然是加大内存。

  • 点击File–>Settings–>Build,Execution,Deployment–>Compiler,将Build process heap size(Mbytes)选项加大,默认值是700,笔者这里调至1200:

6ad306b23bc2d281ac20906699369a07.png

问题2:com.sun.tools.javac.api不存在

f8a089486228af0fc7e242a4c08c437f.png

解决方案:

这是缺少tools的jar包所导致的。

  • 点击File–>Project Structure–>Libraries

6497b7e9fd2fa38255fe007fb2e5349a.png

cfc7c9fce748a5fc66dc296c48933dac.png

a604f8d0d388bde96cfef7d010dd9fae.png

问题3: 找不到符号UNIXToolkit、FontConfigManager

a76fac6568671b2ebf3da9669fff84cf.png

解决方案

这是因为在Windows平台下缺少了两个java类文件所导致的。

这两个类文件可在OpenJDK http://openjdk.java.net/网站上找到。

0f4e623eaece44b980995c6093478e43.png

注意这里选择自己相应的JDK版本

40dc50fb0f7e40bd235187ecab4cf198.png

7f1e103af4c3d7ed61d8dc41fbc10433.png

2ba1756fa6b7790c0dd549e0d34ada1a.png

0acc42ee056cf1c7285d9b694237fd23.png

407e6eecb3f17d681ed7b4b5bef09c8c.png

7a0c5214cac1150d628cec66912664be.png

d8cf7fc0ada53182684e18ac0edb1bdd.png

26ea551eb291bfcfc648bc01d52b1a2f.png

8fa3d9ed73f07819ec52fa561176694e.png

751e69b304d81c0ac403ecfbe47f2f2f.png

找到这两个类文件的位置后,将它们复制进项目如下图所示的位置中。

f722268de786486989d76058eb5a5c60.png

此时再调试或者运行测试用例的时候,可以看到已经成功运行。(debug :F7向下执行)

24dbeee05854b97d4378ce88c598ec04.png

完善项目设置
1、允许调试进入

此时如果我们打断点进行单步调试的话,可以发现点击Step Into无法进入源码内部,因为JDK源码的受保护的,无法进入,但是点击Force Step Into是可以进入源码内部的。如果想要直接按F7(即点击Step Into)进入源码内部的话,需要做如下设置:

  • 点击File–>Settings–>Build,Execution,Deployment–>Debugger–>Stepping,取消勾选Do not step into the classes。

    6a126b184e2d2dd7df74de41aaaaeb7d.png

2、编辑源码文件

如果我们想要对源码文件做记录或者注释时,会发现源码文件是只读的,无法编辑。因为此时项目关联的源码文件还不是刚才复制进项目的文件,而是jdk安装目录下的源码文件。重新将项目关联的源码文件设置成该项目下的源码文件即可。

  • 点击File–>Project Structure–>SDKs

    46723321d8e69e8ce90946307473506e.png

  • 这里将原先的jdk安装目录下关联的源码路径删除,添加刚才拷贝至项目目录下的源码路径。

    a63c5208da8a8be046618977d4e645ad.png

  • 这个时候,再进行调试进入源码内部的时候,可以发现,文件上面的小锁标志已经不见了,源码文件也可以进行注释记录了。

    cd1b834a1b5f4e98ffa4b0bcaf94213c.png

        

4489dcd8fbc12db500e5dbdc9504cd7d.png

总结

至此,关于JDK源码阅读项目的搭建已经完成。平时学习源码的时候,不能只是光看,一定要动手调试,在调试的过程中阅读源码,做记录,写注释,缺一不可。将输入转化为输出,坚持下去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值