在JDK的安装包中已有JDK的源码,是压缩包。
将src解压,可以考虑就解压在JDK的安装目录下,也可以解压到其他目录下,将解压后的目录名称改为jdk_src,也可以是其他名字。
然后使用IDEA新建一个Java项目,替换src目录
然后配置这个JDK,File——>Project Structure...
SDKs——>+——>JDK
还是选择以前的JDK安装目录
删除掉src.zip
添加刚才创建项目的src目录到Sourcepath
设置Project面板
修改Modules面板
创建Demo并运行
运行会很长时间,还可能报错:
解决“Error:(40, 31) java: 程序包com.sun.tools.javac.api不存在”的问题
又报错
打开OpenJDK,然后点击"Mercurial“
选择合适匹配的jdk版本
选择jdk
选择browse
然后选择src
选择solaris
选择classes
选择sun/
然后可以找到需要的类在awt和font包下
先点击awt,进入后找到UNIXToolkit.java类
打开UNIXToolkit.java,然后将浏览器的代码复制到下面的类中
现在再运行则报错
然后打开font目录
找到FontConfigManager.java类
在sun包下创建font目录,并创建FontConfigManager.java类
复制内容到类中
然后再运行成功输出,不过运行速度确实慢
最开始想要了解这个,就是为了方便在源码类中写注释,如果写在其他地方,不太方便。
但是还遇到了这样的问题:Source code does not match the bytecode,则可以查看下面的参考链接
参考博客: