我是靠谱客的博主 英俊火车,最近开发中收集的这篇文章主要介绍IDEA 搭建 JDK 源码阅读环境,超详细,附上 JDK 2 - 15 源码哦!!!一、找到 JDK 的 src.zip二、使用 IDEA 进行搭建,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本次搭建使用 jdk 的版本为 jdk1.8.0_201,idea 版本 2020.1,提供 jdk 2 - 15 压缩包如下:JDK1.2 到 15 压缩包(密码:ia4z)

一、找到 JDK 的 src.zip

我们找到 JDK 安装包所在目录,会看到 src.zip 的压缩包,这里面就是 JDK 的源码,如下图。
在这里插入图片描述

二、使用 IDEA 进行搭建

1、创建一个简单的 Java 工程

file -> new -> project -> next -> next -> 输入工程名称,地址后点击 finish 即可。
在这里插入图片描述

2、把源码 src.zip 解压到该工程下的 src 目录下

在这里插入图片描述
如上图所示,表示导入成功。

3、要让代码运行时自动关联到当前项目 src 目录下的代码

为了不影响平时使用 jdk 的源码,我创建了一个 1.8learning,唯一的差别就是把原来的 src.zip 换成了 jdk1.8-source-learning 的 src 目录.
1)添加一个 jdk
在这里插入图片描述
2)替换 src.zip 为 jdk1.8-source-learning 的 src 目录,记得点击 ok
在这里插入图片描述
3)修改 module sdk 的 dependencies ,记得点击 ok
在这里插入图片描述

4、执行 mian 方法

执行 main 方法后,发现出现各种 error,如下:
Error:java: OutOfMemoryError: insufficient memory(系统资源不足)
程序包 com.sun.tools.javac.api 不存在
找不到 sun.awt.UNIXToolkit
找不到 sun.font.FontConfigManager

5、解决办法

问题1:缺少 com.sun.tools 包

在这里插入图片描述
解决办法:File => Project structure => Libraries 把 jdk 路径下的 lib 包添加到工程中,如下图(记得点击ok):
在这里插入图片描述

问题2:编译过程中报 java:OutOfMemory,提示系统资源不足

解决办法:idea里 File => Settings => Build,Execution,Deployment =>
Compiler => Build process heap size 调大一点,我的改成 1000 就行了,然后记得点击 ok )

在这里插入图片描述

问题3:缺少 sun.awt.UNIXToolkit 和 sun.font.FontConfigManager 这两个类

解决办法:
1)首先在 src 创建一个类,如下所示,
在这里插入图片描述
2)在 src 再次创建一个类,如下所示
在这里插入图片描述
3)我们需要从 open jdk 官网从找到 jdk 版本所对应的这两个类与我们刚刚创建的类进行替换。
UNIXToolkit.java
FontConfigManager.java

6、run 测试

执行如下代码:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello JDK !!!");
    }
}

在这里插入图片描述
搭建成功!!!

7、debug 测试

debug 执行如下代码

public class Main {
    public static void main(String[] args) {
        HashMap<String, String> map = new HashMap<>();
        map.put("k1", "v1");
        map.put("k2", "v2");
        map.put("k3", "v3");
    }
}

在这里插入图片描述
发现 Setp Into 追不进去,这是因为 jdk 源码是受保护的,我们需要进行设置,如下(记得点击 ok):
在这里插入图片描述
此时 dubug 就没问题,但是当你在源码中写过注释,然后再次打断点,你就会发现提示你“Source code does not match the bytecode”,发生了错乱,解决方法看这篇博客jdk源码写过注释后debug提示source code does not match the bytecode
参考链接:
https://blog.csdn.net/IT_Migrant_worker/article/details/104743218
idea中搭建jdk1.8源码阅读环境
https://blog.csdn.net/u010999809/article/details/102762142

最后

以上就是英俊火车为你收集整理的IDEA 搭建 JDK 源码阅读环境,超详细,附上 JDK 2 - 15 源码哦!!!一、找到 JDK 的 src.zip二、使用 IDEA 进行搭建的全部内容,希望文章能够帮你解决IDEA 搭建 JDK 源码阅读环境,超详细,附上 JDK 2 - 15 源码哦!!!一、找到 JDK 的 src.zip二、使用 IDEA 进行搭建所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部